永发信息网

C#Button为什么不能设置焦点》

答案:1  悬赏:50  手机版
解决时间 2021-04-17 07:22
  • 提问者网友:人傍凄凉立暮秋
  • 2021-04-17 01:46
C#Button为什么不能设置焦点》
最佳答案
  • 五星知识达人网友:鸽屿
  • 2021-04-17 02:29
C#Button为什么不能设置焦点
我暂时想到的一种方法是用enabled,如下面的例子:
首先所有的不希望焦点停留的按钮设置tabstop属性为false,如有button1和button2不希望获得焦点

button1.TabStop = false;
button2.TabStop = false;
然后按照原来的重载Click事件如下:
button1.Click += new EventHandler(button_click);
button2.Click += new EventHandler(button_click);
然后事件响应函数为:
private void button_click(object sender, EventArgs e)
{
Button button = (Button)sender;
//按钮动作代码
//.................
//................
button.Enabled = false;//这步和下面那步一起可以失去焦点
button.Enabled = true;
}
就可以使得那个按钮失去焦点了,不过焦点还是会付给第一个tabstop属性为true的控件(之前设置了false就不会)
用上面的方法比较麻烦,可以用另外一种方法,例如你的KeyPress事件不要在form上面,可以是在一个label上,label的内容为空(label1.Text = ""),就是在界面是是看不见隐藏的,在程序的form的构造函数里label1.Focus()使得程序一开始label1就获取焦点,然后在按钮Click事件的最后写一句label1.Focus()就可以把焦点设到要获取KeyPress事件的label1上了(按钮就会失去焦点到label1上),再按照楼主原来的设计就可以了~~~
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯