У меня есть форма с ComboBox
, которая предоставляет выпадающий список. На comboBox SelectedIndexChanged event
я запускаю некоторый код, но я не хочу, чтобы этот код запускался при загрузке формы. К сожалению, когда я загружаю форму (до того, как я сделаю выделение в поле со списком), SelectedIndexChanged
сборов combobox (я думаю, когда поле со списком databinding
). Есть ли способ избежать такого поведения?Остановить событие comboBox selectedIndexChanged от запуска при загрузке формы
ответ
Если вы хотите, чтобы реагировать только тогда, когда пользователь изменить выбранный элемент в поле со списком, то лучше, чтобы подписаться на SelectionChangeCommitted.
Но что делать в случае автокомпет? –
@ Arijit Mukherjee правый. При вводе значения в текстовое поле вместо прямого выбора. Это не вызовет событие SelectionChangeCommitted – thoitbk
Черт, я довольно долго искал в Интернете, чтобы найти простое решение, подобное этому. Я использовал событие SelectionChanged, и он работал в VB.Net - WPF и теперь использовал его на C# - WinForms, и он не работает или, возможно, это только я. Благодаря! – Stephan
Вы можете просто отвязать событие SelectedIndexChanged
, вызвать функцию fill
и связать событие SelectedIndexChanged
снова. К сожалению, это не работает с сеткой.
Например:
Почему бы не указать флаг boolean
, который указывает, когда ваш Form
закончил загрузку?
В вашем случае SelectionChanged
, проверьте, есть ли флаг boolean
true
. Если это true
, тогда обработайте событие, иначе проигнорируйте его.
booooooolean .. SelectionChangeCommitted намного приятнее – ppumkin
Существует уже булевский флаг 'Control.Created', говорящий вам, что форма завершила загрузку, что также справедливо для форм. – user1734987
'ToolStripComboBox' не имеет события' SelectionChangeCommitted'. Таким образом, этот метод должен будет сделать. Или, чтобы предотвратить условия гонки, используйте 'lock' и' Monitor.TryEnter'. – spoulson
Обязательно установите DataSource
свойство в вашей onload()
функции после назначения ValueMember
и Datamember
свойства.
Это поможет вам решить вашу проблему!
Пожалуйста, добавьте больше информации, которая выработает ваше мышление. – Lenin
@ Ranjith: Вы можете уточнить? –
VB
RemoveHandler lbxNomes.SelectedIndexChanged, AddressOf lbxNomes_SelectedIndexChanged
lbxNomes.DataSource = dst
Label1.Text = String.Format("Encontrados {0} Sócios nesta pesquisa", dst.Rows.Count)
Label1.Visible = True
AddHandler lbxNomes.SelectedIndexChanged, AddressOf lbxNomes_SelectedIndexChanged
Он работал для меня так со следующим кодом:
private void ddlChapter_SelectionChangeCommitted(object sender, EventArgs e)
{
if (ddlChapter.SelectedValue != null)
{
// Do something here
}
}
SelectionChangeCommitted перестанет ссылаться на элементы изменения индекса, после того как все элементы загружены в Dropbox, вы можете выбрать один за другим, это также увеличит скорость загрузки. –
- 1. C# Combobox SelectedIndexChanged событие
- 2. Почему ComboBox SelectedIndexChanged вызывается перед загрузкой формы?
- 3. Динамически созданное событие SelectedIndexChanged Combobox
- 4. vb.net/winform - ComboBox SelectedIndexChanged?
- 5. Задержка загрузки combobox при загрузке формы
- 6. Противоположное событие comboBox SelectedIndexChanged в C#
- 7. Альтернативы SelectedIndexChanged, которые не срабатывают при загрузке формы?
- 8. Остановить малину Pi от запуска программы при загрузке
- 9. Как остановить SNMP от запуска автоматически при загрузке Windows
- 10. Не запускать SelectedIndexChanged при использовании jquery combobox
- 11. Заполнение Combobox при загрузке формы VB.NET
- 12. C# Установка текста combobox при загрузке формы
- 13. WinForm Combobox - некорректный SelectedValue при загрузке формы
- 14. Изменить SelectedIndex без запуска SelectedIndexChanged?
- 15. Остановка приложения от запуска при загрузке
- 16. событие changechange для запуска при загрузке страницы
- 17. SelectedIndexChanged не стрелял для ComboBox
- 18. Событие ComboBox SelectedIndexChanged: почему свойство SelectedText не изменено?
- 19. Как остановить событие resizeend при перемещении формы?
- 20. Как остановить запуск javascript при загрузке веб-формы asp.net?
- 21. Windows Form DataGridView attach SelectedIndexChanged событие для ComboBox
- 22. Как предотвратить ComboBox от стрельбы SelectedIndexChanged события другого ComboBox, когда заполнение его
- 23. остановить задачу от запуска при открытии файла
- 24. Остановить приложение от запуска при запуске AVD
- 25. .NET WinForms ComboBox, идентичные элементы и событие SelectedIndexChanged
- 26. Событие ComboBox SelectedIndexChanged: как получить ранее выбранный индекс?
- 27. получить индекс combobox после selectedindexchanged mvc C#
- 28. Остановить функции javascript от запуска
- 29. Остановить ComboBox от прокрутки вверх
- 30. SelectedIndexChanged не распознает динамический comboBox
Не уверен, что на рабочем столе, но в .NET Compact, это событие действительно появляется огонь, прежде чем событие Form_Load, которое действительно проблематично - ничто в форме еще не настроено, когда этот код попадает. На CF решение, к сожалению, представляет собой переменную формы, которая устанавливается в конце загрузки, а затем обработчик события проверяет эту переменную перед ее запуском. – SqlRyan