在c#中重写组合框,通过键盘按下索引来选择项目
本文关键字:键盘 索引 项目 选择 重写 组合 | 更新日期: 2023-09-27 17:50:04
我想重写一个组合框,这样就可以通过键盘按下键来选择它在列表中的位置。
例子:
ComboBoxMonths
- Jan
- Feb
- Mar
- Apr
- May
- Jun
. . .
, "J"按 1月被选中时,和 F , 2月的,…
我想这样使用,当
1然后按 1月,
2 for Feb等
有可能吗?
这只有在组合设置为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);
}
}