winform Focus()函数不起作用 解决办法

本文介绍了在WinForm应用程序中如何正确地设置控件的焦点,包括使用TabIndex和Focus方法的技巧,以及解决光标无法到达指定控件的问题。

 

private void Form_Load(object sender, EventArgs e)

{

this.txtName.Focus();

}

光标到不了txtName。可能的原因 TabIndex不是本窗体中最小的,应该是从1开始,如果设置为0也不正确。

解决方法

1、Form_Load中实现

设置TabIndex,将其设置为一个本窗体最小值,一般为1. 如果还不行则用其它函数:

(1)txtName this.ActiveControl = txtName;

可以得到焦点但是其上的内容全被选中。

(2)this.txtName.Select();

2、Activated方法中实现:

this.txtName.Focus();

小知识:

在WinForm中,TabIndex与“层”有关,假如有两个panel,panel1(里面有txtName,txtPassword)和Panel2(txtAddress,txtunit),TabIndex的顺序是首先在最外层(panel)选取index最小的控件,然后把光标定位到该panel中tabindex最小的控件上。

Focus()方法的用法。

  主要与他的使用位置有关。控件的Focus()与enable和visible有关,在Form_Load中,该控件的visible属性不一定为true,所以,这个时候设置focus()不能成功。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值