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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM