Si je veux définir le focus sur une zone de texte lorsque le formulaire est ouvert pour la première fois, au moment du design, je peux définir la propriété tabOrder sur 0 et m'assurer qu'aucun autre contrôle de formulaire n'a un tabOrder de 0.
Si je veux obtenir le même résultat au moment de l'exécution en utilisant du code, comment dois-je procéder?
Existe-t-il des alternatives à l’utilisation de tabOrder?
Je suppose que tout code d’exécution sera dans le constructeur de la fiche ou son gestionnaire d’événements onload?
MODIFIER
.__ En d'autres termes, j'aimerais pouvoir taper directement dans la zone de texte dès que le formulaire apparaît sans avoir à le tabuler ou à le sélectionner manuellement.
Comme vous souhaitez le définir lors du chargement du formulaire, vous devez d'abord afficher le formulaire .Show () avant d'appeler la méthode .Focus () Le formulaire ne peut pas être actif dans l'événement Load tant que vous n'avez pas affiché le formulaire.
Private Sub RibbonForm1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Me.Show()
TextBox1.Select()
End Sub
Je pense que ce que vous cherchez, c'est:
textBox1.Select();
dans le constructeur. (Ceci est en C #. Peut-être que dans VB ce serait pareil mais sans le point-virgule.)
De http://msdn.Microsoft.com/en-us/library/system.windows.forms.control.focus.aspx :
Focus est une méthode de bas niveau destinée principalement au contrôle personnalisé auteurs. Au lieu de cela, les programmeurs d'applications doivent utiliser la méthode Select ou la propriété ActiveControl pour les contrôles enfants, ou l'activer méthode pour les formulaires.
Private Sub Form1_Shown(sender As Object, e As EventArgs) Handles Me.Shown
TextBox1.Select()
End Sub
Utilisation de la méthode Focus
Private Sub frmTest_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
yourControl.Focus()
End Sub
Assez facile :
Pour le contrôle de tabulation, vous devez gérer l'événement _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
Pour définir le focus,
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
TextBox1.Focus()
End Sub
Définir le TabIndex par
Me.TextBox1.TabIndex = 0
créer une zone de texte:
<TextBox Name="tb">
..hello..
</TextBox>
focus () ---> il est utilisé pour définir le focus d'entrée sur le contrôle textbox
tb.focus()