我有一个带有几个按钮的winform,当我点击一个按钮时,它运行Click事件处理程序,然后按钮保持选中状态,所以如果然后我按下键盘上的ENTER键,它会运行再次点击该按钮的Click事件处理程序。WinForm按钮保持焦点
我想这是一个按钮的默认行为(保持它被点击时选中),但我找不到一种方法来删除该行为。
我尝试了另一种控制方法Focus()
和Select()
,但按钮仍处于选中/聚焦/主动
任何帮助吗?
我有一个带有几个按钮的winform,当我点击一个按钮时,它运行Click事件处理程序,然后按钮保持选中状态,所以如果然后我按下键盘上的ENTER键,它会运行再次点击该按钮的Click事件处理程序。WinForm按钮保持焦点
我想这是一个按钮的默认行为(保持它被点击时选中),但我找不到一种方法来删除该行为。
我尝试了另一种控制方法Focus()
和Select()
,但按钮仍处于选中/聚焦/主动
任何帮助吗?
如果您鸵鸟政策希望用户再次按下回车键触发事件,而它仍然在运行,你可以禁用按钮,同时运行的处理程序代码(与最终在一些情况下弄乱)
编辑:
private void btnOk_Click(object sender, EventArgs e)
{
btnOk.Enable = false;
try
{
// do stuff
}
finally
{
btnOk.Enable = true;
}
}
有一个原因,您不能禁用此行为。它是*标准*和用户*期望*它。如果你删除这个和/或禁用回车键,你的用户会恨你并认为你无能。如果你认为你需要*删除这个和/或禁用回车,*你的UI设计存在严重的缺陷。*在你太晚之前重新考虑你的设计。不要混淆预期的标准用户界面行为。 – Timwi 2010-10-06 22:14:33
我问的原因是因为我的客户正在请求这种行为。我明确表示:这是默认的行为,但我想知道是否可以改变!,无论如何,谢谢 – Osvier 2010-10-07 00:42:51