阻止来自listBox的用户输入而不更改文本颜色

时间:2012-07-25 21:18:24

标签: c# winforms user-interface user-controls listbox

如何在不更改文本颜色的情况下阻止列表框上的用户输入(即更改所选索引),就像在控件上将enabled属性设置为false一样?

这适用于WinForms。

2 个答案:

答案 0 :(得分:0)

最好的选择是不这样做 - 相反,在这种情况下,只填充你想要显示/选择的一个项目。

否则,您需要:   - 记住当前的选择   - 处理OnSelectedIndexChanged   - 重置选择(处理潜在的递归)

答案 1 :(得分:0)

我假设你想从ListBox中选择一个用户不能能够改变的默认选择?我最喜欢这个问题的方法是禁止用户访问ListBox。您可以通过在ListBox上添加GotFocus事件并在ListBox获得焦点时将Focus设置为另一个控件来执行此操作。像这样:

private void listBox1_GotFocus(Object sender, EventArgs e) {

   this.Select();//set the form as the active control or even this.Focus();

}