2012-09-22 26 views
0

Я новичок в C#, и у меня есть вопрос, который я не мог найти. Я создал ComboBox вроде этого:Combobox SelectedItem

ComboBox lijst = new ComboBox(); 

Также я добавил некоторые детали и расположение:

lijst.Location = new Point(400, 25); 

lijst.Text = "Basis"; 
lijst.Items.Add("Basis"); 
lijst.Items.Add("Zuilen"); 
lijst.Items.Add("Vuur"); 
lijst.Items.Add("Zigzag"); 

Дело в том, вы можете выбрать пункт сейчас и нажмите кнопку, которая вызывает следующий метод.

private void bereken(object sender, System.EventArgs e) 
{ 
    string nr = Convert.ToString(lijst.SelectedIndex); 

    Label tekstuitvoer = new Label(); 
    tekstuitvoer.Location = new Point(100, 100); 
    tekstuitvoer.Size = new Size(70, 20); 
    tekstuitvoer.Text = nr; 

    this.Controls.Add(tekstuitvoer); 
} 

Но вот моя проблема. Как только вы нажмете кнопку, результат tekstuitover.Text всегда будет таким же. Поэтому, если вы нажмете кнопку, пока выбран «Vuur», результат будет равен 2. Не имеет значения, измените ли вы элемент combobox. Выход будет всегда равным 2. Но когда я перезапускаю программу и выбираю четвертый вариант вместо третьего, теперь результат всегда будет 3.

Помогите мне с этой проблемой? Есть ли способ сбросить строку nr?

Заранее спасибо. Надеюсь, вы, ребята, можете мне помочь!

ответ

1

Пришло время понять, что вы там говорите. Добавьте обработчик события SelectedIndexChanged в свой список выпадающих списков, и отпустите код ярлыка оттуда, вы можете избавиться от кнопки.

Однако, поскольку вы стоите, вы будете создавать новый компонент ярлыка каждый раз, когда он изменится. Проще просто добавить один во время разработки и установить свойство текста в событии.

Смежные вопросы