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()不能成功。