如何在不更改文本颜色的情况下阻止列表框上的用户输入(即更改选定的索引),就像您只是在控件上将 enabled 属性设置为 false 一样?
这是针对 WinForms 的。
如何在不更改文本颜色的情况下阻止列表框上的用户输入(即更改选定的索引),就像您只是在控件上将 enabled 属性设置为 false 一样?
这是针对 WinForms 的。
最好的选择是不这样做——相反,在这种情况下,只填充您想要显示/选择的一项。
否则,您需要: - 记住当前选择 - 处理 OnSelectedIndexChanged - 重置选择(处理潜在递归)
我假设您想要用户无法更改的 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();
}