WinForms ComboBox - Как проверить значения - PullRequest
0 голосов
/ 24 октября 2010

Я создаю приложение WinForms в C # .NET

Приложение WinForms имеет ComboBox, где DropDownStyle имеет значение DropDownList. Когда приложение запускается, я читаю XML-файл, чтобы заполнить значения ComboBox. И на данный момент в ComboBox по умолчанию ничего не выбрано. В результате кнопки «Изменить» и «Удалить» отключены.

Теперь, когда пользователь выбирает значение, я хочу, чтобы кнопки «Изменить» и «Удалить» были включены. Пока я достиг (хотя, я не уверен, что сделал это правильно).

Я написал код в событии SelectionChangeCommitted.

private void cbList_SelectionChangeCommitted(object sender, EventArgs e)
{
    if (cbList.SelectedItem != null)
    {
        this.btnModify.Enabled = true;
        this.btnRemove.Enabled = true;
    }
    else
    {
        this.btnModify.Enabled = false;
        this.btnRemove.Enabled = false;
    }
}

Теперь, когда я выбрал значение ... кнопки включаются (как и ожидалось). Затем пользователь нажимает кнопку «Удалить», и мы удаляем выбранное значение. Теперь в cbList ничего не выбрано, но кнопки все еще включены?

Что такое функция / событие, где я проверяю, выбрано ли значение или нет, а затем включаю / выключаю кнопки.

1 Ответ

1 голос
/ 24 октября 2010

В данный момент у меня нет Visual Studio, поэтому я не помню, какие у нас есть события.Но вы можете сделать это,

 private void CheckButtons()
    {

        if (cbList.SelectedItem != null)
        {
            this.btnModify.Enabled = true;
            this.btnRemove.Enabled = true;
        }
        else
        {
            this.btnModify.Enabled = false;
            this.btnRemove.Enabled = false;
        }
    }

и использовать вашу функцию в событии

private void cbList_SelectionChangeCommitted(object sender, EventArgs e)
{
CheckButtons();
}

, как вы сказали, после удаления кнопки все еще видны, так что вы можете поставить функцию CheckButtons ()после вашей функции удаления, как

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