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

Posted shayeblog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Winform 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()不能成功。

以上是关于Winform Focus()函数不起作用 解决办法的主要内容,如果未能解决你的问题,请参考以下文章

Vuejs Typescript 类组件 refs.focus 不起作用

winform控件问题

c# Form1_Load函数中,设置某个控件焦点不起作用

WinForm构造函数的作用

运行应用程序可执行文件时,在 WinForm 应用程序中托管 WCF 服务不起作用

使用带有实体框架的 winform 应用程序部署的应用程序在客户端 PC 上不起作用