32 / 32 / 4
Регистрация: 01.07.2013
Сообщений: 230
1

Dynamic property

22.08.2013, 10:04. Показов 1291. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здраствуйте! У меня на форме есть 2 элемента comboBox1 и label1. В комбобоксе 2 значения для выбора(1212 и 1313).
Необходимо чтобы в зависемости от того какое значение я выбрал, изменялся текст написаный в поле label1.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.08.2013, 10:04
Ответы с готовыми решениями:

A property, indexer or dynamic member access may not be passed as an out or ref parameter
ошибка : A property, indexer or dynamic member access may not be passed as an out or ref parameter ...

Dynamic Method in C#
Нужно написать функцию Activate<T> CreateDelegate<T>(string method) Activate определён ранее...

Проблемы с dynamic
Написал код using System; class A { static void Main() { dynamic str = "Это...

Dynamic VS boilerplate classes
Как лучше работать с JSON-данными в клиент-серверном приложении на сокетах? Есть ли смысл...

12
Master of Orion
Эксперт .NET
6095 / 4951 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
22.08.2013, 10:05 2
Denis91, событие у combobox changedчто-то (selected наверное) обрабатываем.
0
32 / 32 / 4
Регистрация: 01.07.2013
Сообщений: 230
22.08.2013, 10:42  [ТС] 3
А можно как то поподробней... Я пока не очень разбираюсь в c#. Да кстати работаю в VS2012/
0
Нарушил, 10 блоков,акка
72 / 72 / 11
Регистрация: 19.07.2013
Сообщений: 250
22.08.2013, 10:52 4
Цитата Сообщение от Denis91 Посмотреть сообщение
А можно как то поподробней... Я пока не очень разбираюсь в c#. Да кстати работаю в VS2012/
По поводу 2012 не знаю. Ну как вариант:
C#
1
2
3
4
        private void comboBox1_SelectedValueChanged(object sender, EventArgs e)
        {
            label1.Text = comboBox1.Text;
        }
0
32 / 32 / 4
Регистрация: 01.07.2013
Сообщений: 230
22.08.2013, 10:57  [ТС] 5
Я так понимаю при изменении значения comboBox1, полю label1 присваивается значение comboBox1.text.?
А мне надо чтобы при фокусе или выборе значения из выпадающего списка присвоить label1 какой то разный текст.
0
1057 / 864 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
22.08.2013, 11:03 6
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
private void Form1_Load(object sender, EventArgs e)
{
DataTable table = new DataTable();
table.Columns.Add(new DataColumn("Id", typeof(string)));
table.Columns.Add(new DataColumn("Name", typeof(string)));
table.Rows.AddRange("текст для текстбокса", "текст  в комбобоксе");
table.Rows.AddRange("пример", "1222");
comboBox1.DisplayMember = "Name";
comboBox1.ValueMember = "Id";
comboBox1.DataSource = table;
}
private void comboBox1_SelectedValueChanged(object sender, EventArgs e)
        {
            label1.Text = comboBox1.SelectedValue.ToString();
        }
1
368 / 340 / 108
Регистрация: 12.02.2013
Сообщений: 653
22.08.2013, 11:10 7
Два раза кликаешь по комбобокс - создастся событие comboBox1_SelectedIndexChanged.
C#
1
2
3
4
5
6
7
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (comboBox1.SelectedIndex == 0)
                label1.Text = "Выбран Комбо1";
            else if (comboBox1.SelectedIndex == 1)
                label1.Text = "Выбран Комбо2";
        }
1
32 / 32 / 4
Регистрация: 01.07.2013
Сообщений: 230
22.08.2013, 11:14  [ТС] 8
Спасибо. Только ошибка в строке
Цитата Сообщение от Learx Посмотреть сообщение
table.Rows.AddRange
AddRange не определён. Подскажите что мне в using написать?

Добавлено через 1 минуту
Ошибка 1 "System.Data.DataRowCollection" не содержит определения для "AddRange" и не был найден метод расширения "AddRange", принимающий тип "System.Data.DataRowCollection" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку) c:\users\test rcp\documents\visual studio 2012\Projects\WindowsFormsApplication2\WindowsFormsApplication2\Form1.cs 25 24 WindowsFormsApplication2
0
1057 / 864 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
22.08.2013, 11:43 9
прошу прощения, добавлять строку так:

C#
1
2
table.Rows.Add(new object[]{"текст для текстбокса", "текст  в комбобоксе"});
table.Rows.Add(new object[]{"пример", "1222"});
0
32 / 32 / 4
Регистрация: 01.07.2013
Сообщений: 230
22.08.2013, 11:56  [ТС] 10
спасибо

Добавлено через 10 минут
label1.Text = comboBox1.SelectedValue.ToString();
ошибка (Ссылка на объект не указывает на экземпляр объекта.)

Добавлено через 2 минуты
Имеет значение null
0
1057 / 864 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
22.08.2013, 11:57 11
в начале метода добавьте
if(comboBox1.SelectedIndes==-1) return;
0
368 / 340 / 108
Регистрация: 12.02.2013
Сообщений: 653
22.08.2013, 12:09 12
попробуй как я тебе написал выше... думаю, то что тебе надо... индексация начинается с нуля... в твоем случае 1212 - это 0, а 1313 - 1...
можешь даже лучше через switch case...
0
32 / 32 / 4
Регистрация: 01.07.2013
Сообщений: 230
23.08.2013, 13:54  [ТС] 13
Спасибо я понял
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.08.2013, 13:54
Помогаю со студенческими работами здесь

Приведение типа к dynamic
dynamic instance = new Program(); - Это будет UpCust или DownCast? Или как я догадываюсь -...

Влияние использования dynamic на приложение
всем доброго времени! объясните мне пожалуйста!! влияет ли использование типа динамик на...

ChangeType, dynamic и приведение типов
Здравствуйте. У меня есть 3 типа данных(разновидности int) - short, long, обычный int. Есть...

Чем отличаются var и dynamic?
Чем отличаются Var и dynamic? И там и там вроде бы компилятор сам определяет, к какому типу отнести...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru