本帖最后由 追影 于 2013-9-25 07:25 编辑
winform下的comboBox控件的DropDownStyle的属性默认为DropDown,我觉得是有道理的,如果下拉中内容很多,用户也可以直接输入,但问题是怎么控制用户输入的是否正确,所以可以用comboBox的KeyPress事件来控制.比如四则运算器中我只让用户输入加减乘除.可这有个问题,就是用户可以输多个加减乘除.- private void com1_KeyPress(object sender, KeyPressEventArgs e)
- {
- //com1.Text.Length,本来我想控制字符串长度为1,可是Length是只读的
- if (e.KeyChar == '+')
- //这里我想用com1.Text.IndexOf(".") == -1来控制,不过还是不行,
- //不知道什么问题
- e.Handled = false;
- else if (e.KeyChar == '-')
- e.Handled = false;
- else if (e.KeyChar == '*')
- e.Handled = false;
- else if (e.KeyChar == '/')
- e.Handled = false;
- else if (e.KeyChar == 8)
- e.Handled = false;
- else
- e.Handled = true;
- }
复制代码 |