Sélectionner un texte dans une textbox [Résolu]

winny68 99 Messages postés vendredi 25 avril 2003Date d'inscription 14 février 2011 Dernière intervention - 24 mai 2007 à 14:29 - Dernière réponse : winny68 99 Messages postés vendredi 25 avril 2003Date d'inscription 14 février 2011 Dernière intervention
- 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.

Confucius
Afficher la suite 

Votre réponse

10 réponses

Meilleure réponse
winny68 99 Messages postés vendredi 25 avril 2003Date d'inscription 14 février 2011 Dernière intervention - 24 mai 2007 à 15:07
3
Merci
Salut _Syl_,
j'avais déjà fait ce que tu propose. Et ça ne fait pas ce que je veux.

Cependant, j'ai trouvé. J'ai utilisé cela :
          int debut = 4;
             TextBox1.SelectionStart = debut;
             TextBox1.SelectionLenght = TextBox1.TextLenght - debut;

et voila.
ça sa fonctionne tip top.
Qui s'endors le cul qui gratte, se réveille le doigt qui pût.

Confucius

Merci winny68 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de winny68
cs__Syl_ 66 Messages postés vendredi 20 octobre 2006Date d'inscription 25 février 2008 Dernière intervention - 24 mai 2007 à 14:48
0
Merci
Bonjour, j'ai pas tout à fait saisi ce que tu souhaitais faire,

Cela dit si ca peut t'aider :

Pour selectionner tout le texte de la textbox
textBox1.SelectAll();

Pour selectionnder une partie du texte,
textBox1.Select(entierCorrespondantALaPositionDuPremierCaractereASelectionner, longueurDeLaSelection);

Bonne fin de journée

_Syl_
Commenter la réponse de cs__Syl_
t_barbillon 341 Messages postés mercredi 8 juin 2005Date d'inscription 10 février 2009 Dernière intervention - 24 mai 2007 à 16:01
0
Merci
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
Commenter la réponse de t_barbillon
winny68 99 Messages postés vendredi 25 avril 2003Date d'inscription 14 février 2011 Dernière intervention - 24 mai 2007 à 16:09
0
Merci
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
Commenter la réponse de winny68
t_barbillon 341 Messages postés mercredi 8 juin 2005Date d'inscription 10 février 2009 Dernière intervention - 24 mai 2007 à 16:21
0
Merci
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.
Commenter la réponse de t_barbillon
SharpMao 1025 Messages postés mardi 4 février 2003Date d'inscription 7 juin 2010 Dernière intervention - 24 mai 2007 à 16:26
0
Merci
Juste pour info,
sache qu'en programmation, il est au contraire très rare de n'avoir qu'une manière de faire quelque chose.

Amicalement, SharpMao
Commenter la réponse de SharpMao
cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscription 20 juin 2013 Dernière intervention - 24 mai 2007 à 17:04
0
Merci
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 )

<hr />
-Blog-
Commenter la réponse de cs_Bidou
t_barbillon 341 Messages postés mercredi 8 juin 2005Date d'inscription 10 février 2009 Dernière intervention - 24 mai 2007 à 17:16
0
Merci
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 ?
Commenter la réponse de t_barbillon
cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscription 20 juin 2013 Dernière intervention - 24 mai 2007 à 18:25
0
Merci
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...

<hr />
-Blog-
Commenter la réponse de cs_Bidou
winny68 99 Messages postés vendredi 25 avril 2003Date d'inscription 14 février 2011 Dernière intervention - 25 mai 2007 à 08:54
0
Merci
D'ac, merci pour l'info Bidou

Qui s'endors le cul qui gratte, se réveille le doigt qui pût.

Confucius
Commenter la réponse de winny68

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.