Tabulations dans un rich text box [Résolu]

Messages postés
4
Date d'inscription
mercredi 16 novembre 2011
Dernière intervention
21 novembre 2011
- - Dernière réponse :  Utilisateur anonyme - 18 nov. 2011 à 11:54
Bonjour à tous,

Je suis nouveau dans ce forum et aussi dans la programmation. Je voudrais savoir si quelqu'un pourrait m'aider à coder les tabulations dans un "richtextbox" dans visual basic 2010. En fait j'aimerais juste avoir un indice par où commencer ou si quelqu'un pourrait me donner un lien qui pourrait me l'expliquer.

Merci beaucoup
Afficher la suite 

Votre réponse

11 réponses

Meilleure réponse
3
Merci
Encore moi...

Je suis complètement à coté de la plaque...

En .NET il existe une propriété dans le richtextbox qui s'appelle AcceptsTab (true ou false)......

C'est vrai que j'utilise rarement ce contrôle.

Voilà c'est tout bête.


CF2i - Guadeloupe
Ingénierie Informatique

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 98 internautes ce mois-ci

Commenter la réponse de Utilisateur anonyme
0
Merci
Salut,

Que veut-tu dire par:
quelqu'un pourrait m'aider à coder les tabulations dans un "richtextbox"

ça veut dire que tu as des tabulations dans ton richtext et que tu veux gérer le texte entre?
Ou tu veux affecter le focus sur les richtextbox à l'aide de la touche Tab?

cordialement



CF2i - Guadeloupe
Ingénierie Informatique
Commenter la réponse de Utilisateur anonyme
Messages postés
4
Date d'inscription
mercredi 16 novembre 2011
Dernière intervention
21 novembre 2011
0
Merci
Bonjour je voudrais juste pouvoir mettre des tabulations comme on le fait dans un logiciel de traitement de texte comme word ou notepad voilà
Commenter la réponse de blass514
Messages postés
4
Date d'inscription
mercredi 16 novembre 2011
Dernière intervention
21 novembre 2011
0
Merci
J'ai oublié de vous remercier!

Alors merci à l'avance!
Commenter la réponse de blass514
0
Merci
Re:
Très bonne question... je viens d'essayer il ne prend même pas en compte le RichTextBox1_KeyDown...

Mis à part la possibilité de le gérer avec les tabStop des autres contrôles ou encore le keypreview de la form, ou encore le fait que je soit fatigué

Je cherche...


CF2i - Guadeloupe
Ingénierie Informatique
Commenter la réponse de Utilisateur anonyme
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
0
Merci
Bonjour, acive,

Mais oui, le keydown reconnait bien le keycode 9 (tabulation), mais cette la tabulation est immédiatement interprétée comme la volonté de "passer" au contrôle suivant.
Il faut donc intercepter cette tabulation et lui donner un autre sens.
Transpose-moi ceci (écrit en VB6) pour VB.Net :
Private Sub RichTextBox1_KeyDown(KeyCode As Integer, Shift As Integer)
  If KeyCode = 9 Then
    RichTextBox1.SelText = vbTab
    KeyCode = 0
  End If
End Sub


Il va maintenant de soi que l'on ne peut avoir le beurre et l'argent du beurre et que ce code fait perdre la possibilité d'utiliser la touche tabulation pour se "balader" d'un contrôle à l'autre
Mais on peut alors se montrer vicieux, si l'on veut et laisser par exemple, la simple tabulation pour "se balader" entre contrôles et (dans la richtextbox) utiliser CTRL+TAB pour y mettre une tabulation.
Voici ce que cela donnerait sous VB6 (à transposer, donc) :
Private Sub RichTextBox1_KeyDown(KeyCode As Integer, Shift As Integer)
  If Shift 2 And KeyCode 9 Then
    RichTextBox1.SelText = vbTab
    KeyCode = 0
  End If
End Sub

Note que j'ai éviter d'utiliser MAJ+TAB, car lui également sert à "naviguer" entre contrôles
J'ai choisi CTRL+TAB. J'aurais pu choisir ALT+TAB également
Dans lke code ci-dessus :
- Shift 2 ans keycode 9 signifie CTRL + TAB
- la constante vbTab correspond à la tabulation
- Seltext envoie le texte défini au point où se trouve le caretr





____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Commenter la réponse de ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
0
Merci
Attends !
Je suis probablement mal réveillé, ce matin !
Le dernier bout de code (celui avec CTRL + TAB) n'est pas faux, mais il est totalement inutile car CTRL + TAB (sans ce code), insère déjà une tabulation. Mon code n'est alors qu'un "fil à couper le beurre"



____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Commenter la réponse de ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
0
Merci
Mais (juste pour nous amuser un peu et ne pas avoir travaillé "pour blèche" (comme on disait chez moi quand j'étais jeune), revoici mon code, légèrement transformé.
Le CTRL + TAB remplira son office, mais également le ALT + SPACE (les deux, quoi !) :
code VB6 à teransposer en VB.Net, hein !
Private Sub RichTextBox1_KeyDown(KeyCode As Integer, Shift As Integer)
  If Shift 4 And KeyCode 32 Then
    RichTextBox1.SelText = vbTab
    KeyCode = 0
  End If
End Sub

où Shift 4 And KeyCode 32 correspond à ALT + SPACE



____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Commenter la réponse de ucfoutu
0
Merci
Salut UC, comment vas?

Alors je viens d'essayer en VB6 c'est bon pas de problème.
Sauf que c'est Alt + Espace (c'est pareil).
Le fait que ça fonctionne comme ça, ne nous dérange pas, on sait que c'est comme ça.

Maintenant d'après ce que j'ai compris, notre ami Blass fait une application, qui (je pense) devra être utilisée par des secrétaires par exemple.
Les secrétaires ont suivi des cours de traitement de texte, et nous ici... venons de changer une des règles du traitement de texte...

Autre chose, je viens de m'en rendre compte que quand je fais ça en VB6:
Private Sub RichTextBox1_KeyDown(KeyCode As Integer, Shift As Integer)
Me.Caption = KeyCode
End Sub

C'est bon j'ai bien un 9 en haut et il saute sur un autre contrôle.

Et quand je fais ça en .Net:
 Private Sub RichTextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles RichTextBox1.KeyDown
        Me.Text = e.KeyCode
    End Sub

J'ai rien du tout... Il saute sur un autre contrôle mais c'est tout.

Tu vois? encore un mystère....

Dans l'immédiat une solution pour que ça fonctionne, soit on met le richtext tout seul dans une form sans autres contrôles, soit on inhibe les tabStop de tous les autres contrôles au tour.
Mais ça ne résout pas nôtre problème...


CF2i - Guadeloupe
Ingénierie Informatique
Commenter la réponse de Utilisateur anonyme
0
Merci
Re:

Alors j'ai trouvé ce truc qu'on s'est tous demandé à quoi ça sert en .Net:
 Private Sub RichTextBox1_PreviewKeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.PreviewKeyDownEventArgs) Handles RichTextBox1.PreviewKeyDown
        If e.KeyCode = 9 Then
            RichTextBox1.Text &= vbTab
        End If
    End Sub


Ca fonctionne sauf que j'ai pas encore trouvé comment éviter que le focus passe à un autre contrôle... je cherche...


CF2i - Guadeloupe
Ingénierie Informatique
Commenter la réponse de Utilisateur anonyme
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
0
Merci
Ben ...
Suffit (sans même coder) de CTRL+TAB, comme prévu par Windows


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Commenter la réponse de ucfoutu

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.