0

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

这是针对 WinForms 的。

4

2 回答 2

0

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

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

于 2012-07-25T22:36:33.260 回答
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();

}
于 2012-07-26T09:48:48.160 回答