我有一个WinForm窗体,当你加载窗体时,会默认选择某个按钮。所谓的选择,就是如果按下“Enter”键,该按钮就会被按下。
我该如何改变我的按钮,使它们不再这样做?
您的选项卡顺序是按照在表单上添加控件的顺序设置的。如果第一个可以按/选择/编辑的控件是被按下的按钮,则当表单加载时,焦点将自动放在它上面。
您可以通过将焦点设置到其他控件(可能不可见?!提示*提示!)来欺骗以避免首先选择该按钮。
但也要确保该按钮不是表单的AcceptButton。
Nayan和rerun提到了两个概念:
1) AcceptButton 2) Tab order
还有一个我要补充,并尝试解释这三个概念之间的关系:
3) 焦点
焦点意味着子控件具有“键盘焦点”。当控件具有焦点时,它可以接收键盘输入并对其做出响应。通过使用鼠标单击控件或使用Tab键来更改焦点。
Tab顺序是按照控件接收焦点的顺序排列的。它还决定了最初获得焦点的控件(Tab顺序中的第一个控件)。
AcceptButton的概念有点混合。如果将窗体的AcceptButton属性设置为按钮控件,则当用户在不处理回车键的任何控件上具有焦点时,按下Enter键时会按下该按钮。通常,“确定”按钮被设置为AcceptButton,以便用户可以输入数据并按Enter作为按下“确定”按钮的快捷方式。
您需要在表单上设置接受按钮。
Element.Select()是我用过的有效方法。