изменение выбранного элемента ComboBox - PullRequest
0 голосов
/ 03 мая 2011

Есть ли способ предотвратить изменение выбранного элемента в ComboBox, только если для определенных условий? Я хочу разрешить обновление displayValue выбранного элемента в ComboBox. Но я не хочу, чтобы пользователь изменял выбранный элемент при его обновлении. Это приложение для Windows.

Ответы [ 2 ]

1 голос
/ 03 мая 2011

Внутри вашего класса:

private int _selectedIndex = 0;

Внутри вашего метода загрузки формы:

comboBox1.Enter += new EventHandler(comboBox1_Enter);
comboBox1.SelectedIndexChanged += new EventHandler(comboBox1_SelectedIndexChanged);

Тогда остальная часть кода:

protected void comboBox1_SelectedIndexChanged(object sender, EventArgs e) {
    if (true) { // Add your validation or certain condition here.
        (sender as ComboBox).SelectedIndex = _selectedIndex;
    }
}

protected void comboBox1_Enter(object sender, EventArgs e) {
    _selectedIndex = (sender as ComboBox).SelectedIndex;
}
0 голосов
/ 03 мая 2011

Попробуйте установить для свойства Enabled значение false. (Или некоторые сторонние инструменты, такие как Telerik, имеют ComboBox со свойством ReadOnly.)

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