Announcement

Collapse
No announcement yet.

Problem mit INSERT in Textbox

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Problem mit INSERT in Textbox

    Hallo,
    in einer Richtextbox möchte ich in den Text ein Zeichen einfügen, und zwar immer dann wenn die rechte Maustaste gedrückt wird. Das funktioniert auch.

    If e.Button = RichTextBox1.MouseButtons.Right Then
    RichTextBox1.Text = RichTextBox1.Text.Insert(RichTextBox1.SelectionSta rt, zeichen)
    End If

    Das Problem ist nur, dass danach die Textmarke (nicht der Mauszeiger) nach oben an den Textanfang springt. Das kann ich so nicht brauchen.
    Mit 'try and error" komme ich nicht weiter - hat jemand einen konkreten Tipp?

    Danke
    zx81hw
    Zuletzt editiert von zx81hw; 17.02.2013, 00:50.

  • #2
    Mit 'try and error" komme ich nicht weiter
    Aber vielleicht mit einem Blick in die Doku

    http://msdn.microsoft.com/de-de/libr...roperties.aspx

    Siehe Caret
    Christian

    Comment


    • #3
      Caret bzw. CaretPosition gibts bei mir nicht und bei dem Beispiel geht nichts.
      Ich habe übrigens Studio 2008 und Framework 3.5
      Public Property CaretPosition As TextPointer
      'Usage
      Dim instance As RichTextBox
      Dim value As TextPointer

      value = instance.CaretPosition

      instance.CaretPosition = value

      was nun?

      Comment


      • #4
        Auch in 3.5

        http://msdn.microsoft.com/de-de/libr...=vs.90%29.aspx

        Was soll das Beispiel bewirken?

        Du liest die Position aus und setzt die Position auf den eben ausgelesenen Wert

        Immer wird das nutzen der API gehen

        http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx
        Zuletzt editiert von Christian Marquardt; 17.02.2013, 12:55.
        Christian

        Comment


        • #5
          Du benutzt Winforms und nicht WPF? Dan solltest du dir eher die SeletedText (bzw. SelectedRTF) Property ansehen.

          Comment


          • #6
            Genau, ich benutze Winforms.
            Und vielleicht sollte meine Eingangsfrage gut gelesen werden.

            Danke
            zx81hw

            Comment


            • #7
              Und vielleicht sollte meine Eingangsfrage gut gelesen werden.
              Worauf willst du hinaus?

              Comment


              • #8
                Originally posted by Ralf Jansen View Post
                Worauf willst du hinaus?
                "..Das Problem ist nur, dass danach die Textmarke (nicht der Mauszeiger) nach oben an den Textanfang springt."

                Comment


                • #9
                  "..Das Problem ist nur, dass danach die Textmarke (nicht der Mauszeiger) nach oben an den Textanfang springt."
                  Und ich habe dir eine Alternative vorgeschlagen die aller Wahrscheinlichkeit nach funktioniert. Hast du es probiert?

                  Comment


                  • #10
                    Originally posted by Ralf Jansen View Post
                    Und ich habe dir eine Alternative vorgeschlagen die aller Wahrscheinlichkeit nach funktioniert. Hast du es probiert?
                    SeletedText habe ich durchprobiert, aber nichts passendes gefunden. Was meinst du dort genau?

                    Comment


                    • #11
                      Keine Ahnung was du probiert hast aber einfach SelectedText etwas zuweisen macht haargenau das wonach du gefragt hast.

                      Comment


                      • #12
                        Mal gut in der Doku lesen:
                        http://msdn.microsoft.com/de-de/libr...tionstart.aspx
                        "Ruft den Anfangspunkt des im Textfeld markierten Texts ab oder legt diesen fest."

                        i.V.m.

                        http://msdn.microsoft.com/de-de/libr...ionlength.aspx
                        Ruft die Anzahl der im Textfeld markierten Zeichen ab oder legt diese fest.
                        Christian

                        Comment


                        • #13
                          Originally posted by zx81hw View Post
                          SeletedText habe ich durchprobiert, aber nichts passendes gefunden. Was meinst du dort genau?
                          Habe die Sache mit SPLIT gelöst - danke
                          zx81hw

                          Comment


                          • #14
                            Originally posted by zx81hw View Post
                            SeletedText habe ich durchprobiert, aber nichts passendes gefunden. Was meinst du dort genau?
                            Ich stand auf dem Schlauch, mir 'SelectionStart' und der Abfrage vor und der Zuweisung nach der Textveränderung bleibt die Textmarke wo sie war.

                            Danke,
                            zx81hw

                            Comment


                            • #15
                              Es erscheint mir immer noch merkwürdig was du da tust. Ein simples

                              [HIGHLIGHT=VB.Net]If e.Button = RichTextBox1.MouseButtons.Right Then
                              RichTextBox1.SelectedText = zeichen
                              End If[/HIGHLIGHT]

                              sollte genau das machen was du willst. Inklusiver richtiger Position des Caret ohne die Position selbst noch irgendwie nachziehen zu müssen.

                              Comment

                              Working...
                              X