如何通过单击特定按钮来使ComboBox导航? [英] How do I get a ComboBox to navigate with the press of a specific button?

查看:82
本文介绍了如何通过单击特定按钮来使ComboBox导航?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我制作了一个简单的Web浏览器,并用toolStripComboBox替换了我的toolStripTextBox,但是在尝试获取Enter键来导航toolStripComboBox时遇到了麻烦.这是我使用的代码:

I made a simple web browser and I replace my toolStripTextBox with a toolStripComboBox but was having trouble trying to get the enter key to navigate the toolStripComboBox. Here is the code I used:

<pre lang="c#">
private void CheckKeys(object sender, System.Windows.Forms.KeyPressEventArgs e)
        {
            if (e.KeyChar == (char)Keys.Enter)
            {
                ((WebBrowser)tabControl1.SelectedTab.Controls[0]).Navigate(toolStripComboBox1.Text);
            }
        }


我如何使回车键起作用,以便当它被击中时,工具StripComboBox可以导航???谢谢
-Commander Uzzy ^.^


How do I get the enter key working so that when it is hit the toolStripComboBox navigates??? Thanks
-Commander Uzzy ^.^

推荐答案

请参阅我的问题-您未提供完整的信息.

但是,检查条件仍然存在问题. "Enter"不是字符;并且使用事件数据的整个想法是错误的.您不应该使用KeyPressed,但是您需要使用KeyDown来检测此键(如果需要,甚至可以使用KeyUp),或者覆盖虚拟方法OnKeyDownOnKeyUp:

Please see my question — you did not supply full information.

Still, there is a problem with the check of the condition. "Enter" is not a character; and the whole idea of using event data is wrong. You should not use KeyPressed but you need to use KeyDown to detect this key (or even KeyUp if you wish), or override the virtual method OnKeyDown or OnKeyUp:

someControl.KeyDown += (sender, eventArgs) => {
    if (eventArgs.KeyCode == Keys.Enter) { /* ... */ } // the type is KeyEventArgs, no need to cast
    // you can also check up key status:
    // eventArgs.Control, eventArgs.Alt, eventArgs.Shift... 
}; 



请参阅:
http://msdn.microsoft.com/en-us/library/system. windows.forms.keyeventargs.aspx [ ^ ],
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.keydown.aspx [ ^ ],
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.keyup.aspx [ ^ ],
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.onkeydown.aspx [ ^ ],
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.onkeyup.aspx [ ^ ].

—SA



Please see:
http://msdn.microsoft.com/en-us/library/system.windows.forms.keyeventargs.aspx[^],
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.keydown.aspx[^],
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.keyup.aspx[^],
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.onkeydown.aspx[^],
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.onkeyup.aspx[^].

—SA


这篇关于如何通过单击特定按钮来使ComboBox导航?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆