程序开发 > C# > Winform > 正文

C# Winform设置焦点focus(textbox)

亮术网 2020-07-13 本网原创

有的时候,Winform 中的 textbox 会自动聚焦;有的时候,textbox 又不会;为什么会出现这种情况呢?这与 textbox 聚焦的方式之一相关,当 textbox 被第一个拉到 Form 窗体时,textbox 会自动聚焦,反之不会,具体原因将在下文介绍。

C# Winform设置焦点有两种方法,一种是用 Focus() 方法实现,另一种是通过控件索引实现,下面就分别介绍这两种方法具体实现步骤或代码。

 

一、C# Winform设置焦点方法一:Focus 方法

1、使用 textbox 的 Focus() 方法,需要在窗体的的 Activated 事件中写代码。首先为窗体(Form1)添加 Activated 事件,展开右边的“属性”窗口,如图1所示:

C# Winform设置焦点

图1

选择“事件”图标,在 Activated 右边输入 Form1_Activated,单击任意处则打开窗体后台代码文件。

 

2、在 Form1_Activated 事件中添加如下代码:

private void Form1_Activated(object sender, EventArgs e){

  textBox1.Focus();//textbox 聚焦

}

这样,打开窗体 Form1,textbox焦点就会自动出现。

 

 

二、C# Winform设置焦点方法二:设置 tabindex 索引

如果把 textbox 的 tabindex 设置为0,则该 textbox 会自动聚焦,这就是我们有时并未设置 textbox 聚焦,却会自动出现光标的原因。一般来说,textbox 被第一个拉到窗体中,则它的 tabindex 就是0。设置 tabindex 为 0 的方法如下:

1、选中 textbox,展开右边的“属性”窗口,找到 TabIndex,如图2所示:

textbox焦点

图2

2、在 TabIndex 右边输入 0,运行程序,textbox焦点就会出现。

 

 

三、textbox 设置焦点注意问题

1、textbox 必须显示(即 Visible 为 True)与启用(即 Enabled 为 True),焦点(光标)才会出现。

2、用 textbox.Focus()方法设置焦点,不能把代码写到窗体载入事件(即 Form1_Load),否则无效。

本文浓缩标签:焦点textbox