只要您只使用鼠标导航,我的程序就可以编译并运行良好。我注意到,当我点击“Enter”时,它会自动注册为单击窗口中的一个按钮。我已经开始使用“AcceptButton”属性并将其设置为适当的按钮,甚至设置为“无”。似乎没有任何效果,它保留在默认按钮上,它似乎与“Enter”相关联。我注意到它将是我在代码中定义的第一个按钮。
长话短说,我想将 Enter 键的“默认”值删除为“AcceptButton”属性实际指定的值。
谢谢,
安迪
只要您只使用鼠标导航,我的程序就可以编译并运行良好。我注意到,当我点击“Enter”时,它会自动注册为单击窗口中的一个按钮。我已经开始使用“AcceptButton”属性并将其设置为适当的按钮,甚至设置为“无”。似乎没有任何效果,它保留在默认按钮上,它似乎与“Enter”相关联。我注意到它将是我在代码中定义的第一个按钮。
长话短说,我想将 Enter 键的“默认”值删除为“AcceptButton”属性实际指定的值。
谢谢,
安迪
假设 WinForm 有一个TextBox
,将 TextBox.TabIndex 设置为 0。再次假设这个 TextBox 应该是用户与之交互的第一个 UI 元素。
然后,将所有按钮更改为 TabIndex > 0。
最后,将 Form.AcceptButton 更新为您希望默认接受/输入的按钮。
如果没有 TextBox 或其他可以具有较低 TabIndex 的元素,则该按钮将是加载表单时具有焦点的默认 UI 元素。
如果输入,您可以捕获onKeyDown
事件而不处理它
protected override void OnKeyDown(KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
this.YOURBUTTON.PerformClick();
}
}