vs 2005的winform窗体中如果有个combobox里面也有Item在,可是你会发现,在你选择了其中的某个Item后在这个选项的最后仍然可以输入东西进去。个人感觉这个很不好,但是ComboBox又没有给出只读的属性。那么在这个ComboBox的KeyPress事件下,你可以加入以下代码:
//锁定键盘只有TAB键/上下键/回车键可用
private void cmbPId_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = e.KeyChar < '0' || e.KeyChar >= '0';
if ((e.KeyChar == (char)9) || (e.KeyChar == (char)38) ||
(e.KeyChar == (char)40)|| (e.KeyChar == (char)13))
{
e.Handled = false;
}
}
因为考虑到方便操作所以:
TAB键用来控件之间的切换,上下键用来选择ComboBox中的Item。因为使用F4可以展开整个ComboBox的所有选项所以在用上下键选择完后用回车键确定所选的Item