【发布时间】:2011-08-17 08:55:38
【问题描述】:
有什么方法可以防止仅在某些条件下更改 ComboBox 中的选定项目?我想允许在 ComboBox 中更新所选项目的 displayValue。但我不希望用户在更新时更改所选项目。这是一个 Windows 应用程序。
【问题讨论】:
有什么方法可以防止仅在某些条件下更改 ComboBox 中的选定项目?我想允许在 ComboBox 中更新所选项目的 displayValue。但我不希望用户在更新时更改所选项目。这是一个 Windows 应用程序。
【问题讨论】:
在你的课堂上:
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;
}
【讨论】:
尝试将 Enabled 属性设置为 false。 (或者一些第三方工具包,比如 Telerik 有一个带有 ReadOnly 属性的 ComboBox。)
【讨论】: