[英]select combobox item by pressing enter key in c# windows aplication
[英]Overriding ComboBox to select item by pressing index through keyboard in C#
我想覆盖一个组合框,以便通过按键盘上的键可以通过其在列表中的位置进行选择。
例:
ComboBoxMonths
- Jan
- Feb
- Mar
- Apr
- May
- Jun
. . .
当“J”被压扬被选择,和“F”为“月”,....
我想这样使用它
按1然后1月 ,
2表示2月 , 依此类推 。
可能吗 ? 如果是,我该如何实现?
仅当组合设置为DropDownList时,此方法才能正常工作,这在您的示例中很有意义。 它也只涵盖1-9。 如果要处理一个以上的数字,则需要使用计时器的更多逻辑。
public class MyComboBox : ComboBox
{
protected override void OnKeyPress(KeyPressEventArgs e)
{
var index = e.KeyChar - '1';
if( index >= 0 && index < this.Items.Count )
this.SelectedIndex = index;
base.OnKeyPress(e);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.