欢迎来到.net学习网

欢迎联系站长一起更新本网站!QQ:879621940

您当前所在位置:首页 » C# » 正文

WinForm程序在Load事件中设置focus无效的解决方法

创建时间:2017年07月31日 14:28  阅读次数:(763)
分享到:
有时候我们想在WinForm窗口显示后自动为某个控件设置焦点,于是我们在Load事件中为该控件设置焦点
private void FrmMag_Load(object sender, EventArgs e)
{
  this.txtKey.Focus();
}

一切都很简单,但实际执行起来,你会发现有时候这个设置无效,我也不知道为什么会无效,不计较这个。于是改用在Activated事件中设置焦点
private void  FrmMag_Activated(object sender, EventArgs e)
{
  this.txtKey.Focus();
}

这个是有效果了,但你会发现,每次激活这个窗口时(从另一个windows窗口切换到这个窗口),都会为txtKey设置焦点,有时候我只是想出去复制东西,窗口切回时焦点又到txtKey中去了。

最好的方法,是在Shown事件中设置焦点
private void FrmMag_Shown(object sender, EventArgs e)
{
  this.txtKey.Focus();
}

Shown事件只在窗口第一次显示时发生,这样就很好的符合我们的需求了。
来源:.net学习网
说明:所有来源为 .net学习网的文章均为原创,如有转载,请在转载处标注本页地址,谢谢!
【编辑:Wyf

打赏

取消

感谢您的支持,我会做的更好!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

最新评论

共有评论0条
  • 暂无任何评论,请留下您对本文章的看法,共同参入讨论!
发表评论:
留言人:
内  容:
请输入问题 91+38=? 的结果(结果是:129)
结  果: