2014-01-22 3 views
0

фонеC# слушать изменения выбора выпадающего

У меня есть C# приложение, написанное, которое взаимодействует с базой данных SQL. недавний запрос функции состоял в том, чтобы разрешить различные типы аутентификации (3 типа). Первоначально я решил использовать 3 переключателя (по одному для каждой опции auth) для этого и 2 текстовых поля (имя пользователя/пароль). это отлично работает, и весь фоновый код работает нормально, но теперь они просили, чтобы, когда они используют SSPI auth (не требует дополнительного ввода от пользователя), чтобы я серые текстовые поля, поэтому информация не может быть введена и когда выбран один из двух других параметров , чтобы позволить коробкам снова редактироваться. Чтобы сделать этот очиститель, теперь у меня есть одно поле со списком с 3 элементами (auth) и 2 текстовыми полями (un/pw).

вопрос

как у меня есть приложение для прослушивания изменений в выпадающем списке перед пользователь щелкает работать? Я всегда использовал кнопку в качестве катализатора, и мне не приходилось это делать раньше. Я видел несколько примеров, где я могу использовать условие (если выбранный индекс равен x) делает blah, но, похоже, требуется, чтобы моя кнопка запуска была нажата в любом случае, а не работоспособное решение. Я также нашел этот пример C# -comboBox Selected IndexChange, что я не совсем понимаю, и я считаю, что нужно сделать 2 коробки, но я не знаю, почему.

код Судо

if ((combobox item is not selected) or (combobox selection == indexitem1)) 
{ 
    //then keep textboxes read only 
} 
else 
{ 
    //change textbox to editable 
} 

запрос

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

Любая помощь очень ценится. Ссылки, код, комментарии, вопросы. все помогает мне увидеть что-то, что еще не существует, или помогает мне искать лучшие ответы. Благодаря!

решение

я просто понял это

private void AuthSelect_SelectedIndexChanged(object sender, EventArgs e) 
     { 
      //listen if combobox selection is changed 
      if ((AuthSelect.SelectedIndex == 0) || (AuthSelect.SelectedIndex == -1)) 
      { 
       userName.ReadOnly = true; 
       password.ReadOnly = true; 
      } 
      else 
      { 
       userName.ReadOnly = false; 
       password.ReadOnly = false; 
      }  
     } 

ответ

1
private void AuthSelect_SelectedIndexChanged(object sender, EventArgs e) 
     { 
      //listen if combobox selection is changed 
      if ((AuthSelect.SelectedIndex == 0) || (AuthSelect.SelectedIndex == -1)) 
      { 
       userName.ReadOnly = true; 
       password.ReadOnly = true; 
      } 
      else 
      { 
       userName.ReadOnly = false; 
       password.ReadOnly = false; 
      }  
     } 
Смежные вопросы