首先让我说我是C#的新手...... 我正在使用WinForms:我已尝试使用此代码更改ComboBox的值以使用快捷方式。我也尝试使用SelectedValue而不是SelectedIndex。之后我尝试在改变值之前或之后关注ComboBox。最后我尝试将其转换为stwitch语句,但每次执行它都没有任何反应 我正在使用Visual Studio 2017 - 当我尝试调试它时,调试器向我显示,在执行if语句中的代码后,它进入else语句并再次执行代码...
private void Form_KeyDown(object sender, KeyEventArgs e)
{
if (e.Control && e.KeyCode == Keys.E)
{
//CBoxLimit.Focus();
if (CBoxLimit.SelectedIndex == 0)
{
CBoxLimit.SelectedIndex = 1;
}
else
{
CBoxLimit.SelectedIndex = 0;
}
//CBoxLimit.Focus();
}
}
先谢谢你的帮助......
答案 0 :(得分:0)
您似乎应该更改SelectedIndex
实例上的ComboBox
而不是CBoxLimit
。您还应将表单KeyPreview
属性设置为True
(请参阅here):
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.E)
{
comboBox1.SelectedIndex = 1;
}
}