winny68
Messages postés99Date d'inscriptionvendredi 25 avril 2003StatutMembreDernière intervention14 février 2011
-
24 mai 2007 à 14:29
winny68
Messages postés99Date d'inscriptionvendredi 25 avril 2003StatutMembreDernière intervention14 février 2011
-
25 mai 2007 à 08:54
Salut à tous.
J'arrive pas à trouver comment sélectionner un bout de texte dans une textbox.
J'aimerai réaliser une sorte de saisie semi-automatique.
Et pour pouvoir continuer à écrire dans la textbox si le complément du texte proposé par l'application, j'aurai voulue sélectionner le texte comme quant on sélectionne du texte avec la sourie.
Genre, bleuire le texte pour qu'il s'efface à la prochaine lettre écrite.
Merci pour vos future réponse.
Qui s'endors le cul qui gratte, se réveille le doigt qui pût.
t_barbillon
Messages postés341Date d'inscriptionmercredi 8 juin 2005StatutMembreDernière intervention10 février 20092 24 mai 2007 à 16:01
Si je me trompe pas la méthode Select(Start, Length) met à jour les deux propriétés SelectionStart et SlectionLength. Donc les deux méthodes devraient avoir le même résultat
winny68
Messages postés99Date d'inscriptionvendredi 25 avril 2003StatutMembreDernière intervention14 février 20111 24 mai 2007 à 16:09
Ben non.
En tout cas, j'ai pas le même résultat. De plus, ce serai completement débile d'avoir deux méthode qui réalise la même chose, il doit y avoir une différence quelque part (mis à part le fait qu'une est en deux partie).
Qui s'endors le cul qui gratte, se réveille le doigt qui pût.
Confucius
Vous n’avez pas trouvé la réponse que vous recherchez ?
t_barbillon
Messages postés341Date d'inscriptionmercredi 8 juin 2005StatutMembreDernière intervention10 février 20092 24 mai 2007 à 16:21
Pourtant on dirait bien que cela fait exactement la même chose :
Si on regarde le code désassemblé du set de la propriété SelectionStart, on voit un appel à la méthode Select :
set
{
if (value < 0)
{
thrownewArgumentOutOfRangeException(...);}
this.Select(value, this.SelectionLength);
}
Et dans le code désassemblé de la méthode Select on a un appel à SelectInternal qui met à jour les deux propriétés.
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 24 mai 2007 à 17:04
Il y a évidemment toujours beaucoup de possibilité pour résoudre un problème. Dans ce cas, les deux propositions font effectivement la même chose, comme l'a dit t_barbillon. La petite astuce (que tu ne connais peut-être pas winny), c'est que si la textebox n'a pas le focus, ça ne marche pas.
Il faut donc faire
this.textBox.Focus();
this.textBox.Select(4, 2);
ou
this.textBox.Focus();
this.textBox.SelectionStart = 4;
this.textBox.SelectionLength = 2;
Je préfère personnellement la première possibilité qui est plus logique: on fait une action, on appelle donc une méthode. Pour récupérer la valeur, on appelerait plutôt la properties... (en plus, on gagne une ligne )
t_barbillon
Messages postés341Date d'inscriptionmercredi 8 juin 2005StatutMembreDernière intervention10 février 20092 24 mai 2007 à 17:16
Ce qui est bizarre et que je m'explique pas, c'est que la première méthode ne marche pas chez winny68
Bidou, est ce qu'on gagne aussi une ligne au niveau du msil ?
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 24 mai 2007 à 18:25
Ca ne marche pas chez lui, car sa textbox n'a pas le focus, tout simplement.
Pour la méthode la plus rapide, c'est l'appel à la méthode Select(int, int) très certainement:.. Car les deux properties utilisées font chacune un appel à Select...