Sélectionnez le contenu de la zone de texte lorsqu'il reçoit le focus
J'ai trouvé une question similaire à la mienne dans Faire un WinForms zone de texte se comporter comme votre barre d'adresse du navigateur
Maintenant, je suis en train de modifier ou de faire un peu plus différent, en la rendant général. Je veux appliquer la même action à l'ensemble des zones de texte dans la forme, sans écrire de code pour chacun... combien j'en dun savoir. Dès que j'ai ajouter une zone de texte dans mon formulaire il doit se comporter avec une action similaire de la sélection.
Donc, vous demandez-vous comment le faire?
Windows Forms? Formulaires Web? Quoi?
C'est windows forms
C'est windows forms
OriginalL'auteur KoolKabin | 2010-07-08
Vous devez vous connecter pour publier un commentaire.
Le code suivant hérite de zone de texte et met en œuvre le code que vous avez mentionné dans Faire un WinForms zone de texte se comporter comme votre barre d'adresse du navigateur.
Une fois que vous avez ajouté la MyTextBox de classe à votre projet, vous pouvez faire une recherche globale pour le Système.De Windows.Les formulaires.Le texte et les remplacer par MyTextBox.
L'avantage de l'utilisation de cette classe est que vous ne pouvez pas oublier de relier tous les événements pour chaque zone de texte. Aussi, si vous décidez sur un autre tweak pour toutes les zones de texte que vous avez un endroit pour ajouter la fonctionnalité.
OriginalL'auteur Tim Murphy
En supposant que vous allez utiliser accepté la solution de la question d'un lien hypertexte, tout vous devez faire serait que chaque fois que vous créez une nouvelle zone de texte, vous utilisez AddHandler pour ajouter les 3 mêmes gestionnaires d'événements pour chaque nouvelle zone de texte.
Ensuite, vous devrez changer les gestionnaires d'événements de la place de la référence à la zone de texte comme
this.textBox1
ils aurez la référence queCType(sender, TextBox)
qui signifie qu'ils vont utiliser la zone de texte qui a généré l'événement.Edit: je vais ajouter cette ligne de code ici, car il est plus facile à lire alors
Je croyais que vous vouliez dire que vous ajouter des zones de texte de façon dynamique? Sinon, si ils sont créés dans le concepteur vous pouvez simplement tous les relier à la même gestionnaire d'événements comme ceci:
Private Sub TextBox_GotFocus (ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.GotFocus, TextBox2.GotFocus, TextBox3.GotFocus
thnx il a travaillé. pouvons-nous explorer un pas de plus en avant sur le niveau de forme de l'événement
Vous voulez dire que vous voulez réutiliser le même cas pour de multiples formes? Je pense que comme la plupart des événements de formulaire sont traitées par "eux-mêmes" plutôt que par le propriétaire (comme la forme la manipulation d'un événement clic du bouton) je ne sais pas si cela aurait du sens, de la même manière. Mais vous pouvez bien sûr faire quelque chose comme hériter de deux formes à partir de la même base et ont la base de la poignée de l'événement, mais il peut obtenir un peu désordonné.
OriginalL'auteur Hans Olsson
Nous utilisons cette coutume contrôle de zone de texte:
Vous pouvez voir l'intégralité du projet de notre zone de texte (sur les stéroïdes) sur GitHub https://github.com/logico-dev/TextBoxX
OriginalL'auteur Lógico Software