В случае отметки времени таймера выбранный индекс поля со списком становится тем, на котором я наведите курсор мыши. Почему? - PullRequest
0 голосов
/ 26 августа 2011

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

Код:

    private void timer_Tick(object sender, EventArgs e)
    {
        UpdateTime();
    }

    private void UpdateTime()
    {
        textbox1.Text = combobox1.SelectedIndex == 0 ? currentTime :
                     combobox1.SelectedIndex ==1 ? elapsedCurrentTime :
                      combobox1.SelectedIndex == 2 ?remainingTime;
    }

1 Ответ

1 голос
/ 27 августа 2011

Обрабатывать combobox1.SelectionChangeCommitted и сохранять значение combobox1.SelectedIndex в классе:

currectSelection = combobox1.SelectedIndex;

В методе UpdateTime используйте currectSelection вместо combobox1.SelectedIndex.

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