Порядок событий при переключении элементов управления Winform - PullRequest
0 голосов
/ 30 июня 2011

У меня есть событие «Leave» в текстовом поле и «SelectedValueChanged» даже в списке.Переходя от текстового поля к списку, будет ли один огонь раньше другого?Или они будут стрелять одновременно?

Ответы [ 3 ]

1 голос
/ 30 июня 2011

Они не запускаются одновременно.

В вашей разработке должны быть открыты «Вывод» или «Немедленное окно» (в зависимости от параметров отладки), а затем из вашего кода:

private void textBox1_Leave(object sender, EventArgs e)
{
  System.Diagnostics.Debug.WriteLine("Text Leave");
}

private void listBox1_SelectedValueChanged(object sender, EventArgs e)
{
  System.Diagnostics.Debug.WriteLine("ListBox SelectedValueChanged");
}

В окне «Вывод» или «Немедленно» вы должны увидеть сообщение «Оставить текст» перед сообщением «ListBox SelectedValueChanged», когда у вашего TextBox есть фокус, и вы выбираете элемент в следующем списке.

1 голос
/ 30 июня 2011

ListBox.Enter должен сработать, прежде чем он сможет увидеть изменение выбранного значения.Что подразумевает, что TextBox.Leave срабатывает первым.События никогда не могут запускаться одновременно, это события, которые запускаются в потоке пользовательского интерфейса, по одному за раз.

1 голос
/ 30 июня 2011

Событие Leave будет запущено до SelectedValueChanged

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