2013-04-30 40 views
7

如果我想將焦點設置於當表單第一次打開一個文本框,然後在設計時,我可以設置它的TabOrder屬性設置爲0,並確保沒有任何其他形式的控制具有的的TabOrder 0設置集中到一個TextBox控件

如果我想在運行時來達到同樣的效果,使用的代碼,我應該怎麼處理?
是否有替代使用tabOrder?
我承擔任何運行時代碼將在窗體的構造或者其onload事件處理程序?


EDIT
在我想能夠將其用作顯示形式直一旦鍵入到文本框換言之,無需手動選項卡,或者手動選擇。

回答

23

因爲要在窗體加載時設置它,所以必須先調用.Show()窗體,然後才能調用.Focus()方法。直到你展示本的形式不能把焦點Load事件

Private Sub RibbonForm1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 

    Me.Show() 
    TextBox1.Select() 
End Sub 
+0

如何使用對焦()甲基按鈕或下拉列表的按鈕? – Laxmi 2016-09-29 06:18:26

+0

相同!即ComboBox。焦點()'或'Button1.Focus()' – 2017-03-06 10:46:21

0

若要設定對焦,

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) 
    TextBox1.Focus() 
End Sub 

通過

Me.TextBox1.TabIndex = 0 
+0

他不希望在頁面加載 – Anil 2013-04-30 07:16:42

1

很簡單的設置tabIndex:

選項卡控件,您需要處理_SelectedIndexChanged事件:

Private Sub TabControl1_SelectedIndexChanged(sender As Object, e As System.EventArgs) _ 
    Handles TabControl1.SelectedIndexChanged 

If TabControl1.SelectedTab.Name = "TabPage1" Then 
    TextBox2.Focus() 
End If 
If TabControl1.SelectedTab.Name = "TabPage2" Then 
    TextBox4.Focus() 
End If 
1

使用聚焦方法

Private Sub frmTest_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
     yourControl.Focus() 
    End Sub 
+0

他不希望在頁面加載 – Anil 2013-04-30 07:18:43

7
Private Sub Form1_Shown(sender As Object, e As EventArgs) Handles Me.Shown 
    TextBox1.Select() 
End Sub 
0

創建一個文本框:

<TextBox Name="tb"> 
..hello.. 
</TextBox> 

焦點()--->它是用來輸入焦點設置到TextBox控件

tb.focus() 
相關問題