Partage
  • Partager sur Facebook
  • Partager sur Twitter

Différents problèmes avec ma TextBox1

    3 juillet 2011 à 15:20:33

    Salut à tous ! :p

    Comme le titre l'indique j'ai des problèmes avec ma textbox1 nommée : TextBox1 (sans blague :lol: )

    Voici mon premier problème :
    Les objets :
    -Un bouton (BT_BOLD)
    -TextBox1
    Mon exigeance :
    J'aimerai que, quand il y a du text dans la textbox et que j'en selectionne une partie, mes balises se mettent aux extremité
    un exemple :
    je met dans la textbox : "Salut les zéros !" je selectionne le mot "zéros" avec le curseur et je clique sur le bouton bold le text sur la textbox devrait être "Salut les [b]zéros[/b] !" et que je puisse mettre ces balises n'importe où dans le text que sa soit a la ligne 1 comme a la 52
    Mon code :
    Private Sub BT_BOLD_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BT_BOLD.Click
            Dim tmp As String = TextBox1.Text
            TextBox1.Text = tmp.Insert(TextBox1.SelectionStart, "[b]" & tmp & "[/b]")
        End Sub
    

    Ce code fera apparaitre dans la textbox : "Salut les [b]Salut les zeros ![/b]zeros !" :( mais je veut qu'il affiche : "Salut les [b]zéros[/b] !"

    Merci d'avance de votre aide !!
    • Partager sur Facebook
    • Partager sur Twitter
      4 juillet 2011 à 10:29:07

      Normal, ta variable tmp contient l'intégralité de ta TextBox.

      Il faudrait récupérer la selection que tu as faite, mais je sais pas si c'est possible avec une TextBox. Peut être du coté de "SelectedText", je n'ai pas utilisé cette propriété ^^
      • Partager sur Facebook
      • Partager sur Twitter
        4 juillet 2011 à 11:52:11

        Citation : Beowulf59

        Normal, ta variable tmp contient l'intégralité de ta TextBox.

        Il faudrait récupérer la selection que tu as faite, mais je sais pas si c'est possible avec une TextBox. Peut être du coté de "SelectedText", je n'ai pas utilisé cette propriété ^^



        Salut,

        "SelectedText" permet de récupérer ou de modifier la couleur du texte sélectionné dans une TextBox.
        Par contre, sur mon VB 2010 Express, j'ai TextBox1.SelectionStart et SelectionLength et là ça peut le faire.

        Public Class Form1
        
            Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
                Dim Texte As String = TextBox1.Text
                Dim Start As Integer = TextBox1.SelectionStart
                Dim Taille As Integer = TextBox1.SelectionLength
                Dim Debut As String
                Dim Fin As String
                Dim Chaine As String
                Debut = Microsoft.VisualBasic.Left(Texte, Start)
                Fin = Microsoft.VisualBasic.Right(Texte, Len(Texte) - (Start + Taille))
                Chaine = Microsoft.VisualBasic.Right(Microsoft.VisualBasic.Left(Texte, Start + Taille), Taille)
                TextBox1.Text = Debut & "[b]" & Chaine & "[/b]" & Fin
            End Sub
        


        Le mieux c'est de se faire un dessin, mais sinon en éxécutant en débogage on comprend mieux. Il me semble qu'on peut prendre une chaîne par rapport un indice de début et de fin mais je sais plus comment. Genre sur une chaîne de 20 caractères on peut obtenir les caractères en le 8e et le 12e indice. Je pense que cela raccourcirais le code.

        @+

        • Partager sur Facebook
        • Partager sur Twitter
          4 juillet 2011 à 13:40:14

          @Kvel : Merci pour l'info :) j'avais vu dans l'intellisense que ça avait un rapport avec la couleur, mais ça me paraissait bizarre, cette propriété aurait du s'appeler SelectedColor :p
          • Partager sur Facebook
          • Partager sur Twitter
            4 juillet 2011 à 16:18:07

            Ouai c'est claire j'avai essayer de faire du code avec mais je me suis dit que c'été bizzard
            • Partager sur Facebook
            • Partager sur Twitter
              10 juillet 2011 à 12:35:36

              Voici un nouveau problème : J'ai toujours ma textbox1 j'ai activé la scrollbar dans ses propriété je charge un fichier tres long (~1000 ligne) quand je veut inséré une ligne au milieu avec un bouton il l'insert et revien a la ligne une alors qu'il devrait resté a la ligne 500 par exemple voici le code
              Serait t'il a cause du chariot qui revient au début a chaque fois ?
              Je pense qu'il faudrai faire une variable type integer pour la position du chariot mais j'esite un peu :euh:

              Public Class Main
              
                  Private Sub BT_BOLD_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BT_BOLD.Click
                      Dim Texte As String = TextBox1.Text
                      Dim Start As Integer = TextBox1.SelectionStart
                      Dim Taille As Integer = TextBox1.SelectionLength
                      Dim Debut As String
                      Dim Fin As String
                      Dim Chaine As String
                      Debut = Microsoft.VisualBasic.Left(Texte, Start)
                      Fin = Microsoft.VisualBasic.Right(Texte, Len(Texte) - (Start + Taille))
                      Chaine = Microsoft.VisualBasic.Right(Microsoft.VisualBasic.Left(Texte, Start + Taille), Taille)
                      TextBox1.Text = Debut & "[b]" & Chaine & "[/b]" & Fin
                  End Sub
              
              • Partager sur Facebook
              • Partager sur Twitter
                13 juillet 2011 à 13:50:38

                Pour que le sujet ne tombe pas dans l'ouvli : UP !
                • Partager sur Facebook
                • Partager sur Twitter

                Différents problèmes avec ma TextBox1

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown