我开发了一个像Windows计算器一样的简单计算器,
但与Windows计算器不同,点击任何按钮后,对该按钮的焦点仍然在特定点击按钮上。
那么如何永远不会对计算器表格上的所有按钮进行聚焦......?
我不认为在每个按钮的点击事件上写松散的焦点代码会更好......所以有更好的解决方案吗?
答案 0 :(得分:1)
如果没有看到您的任何代码,我将假设您有一个显示用户按下的数字的文本框,因此您需要在用户单击按钮后将焦点设置为文本框,如下所示:
TextBox1.Focus()
注意:如果您的文本框未命名为TextBox1
,请将名称更改为实际命名的文本框。
答案 1 :(得分:1)
使用从“标准”按钮派生的 NoFocusButton 类的实例,而不是标准按钮。在此类中,覆盖 ShowFocusCues 属性并始终返回false。
Form f = new Form();
// Need to add manually the buttons to your form unless you build a customcontrol
NoFocusButton b = new NoFocusButton();
b.Text = "ClickMe";
f.Controls.Add(b);
f.Show();
// Class derived by the Button control, it is identical but the
// property that control the drawing of the Focus rectangle returns FALSE
// tricking the WinForm system to avoid to draw the focus rectangle
class NoFocusButton : System.Windows.Forms.Button
{
protected override bool ShowFocusCues
{
get
{
return false;
}
}
}