Richtextbox und Tab

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von deplex.

    Richtextbox und Tab

    Moin,

    Ich habe ein kleines Problem(chen). Und zwar fehlt mir irgendwie gerade ein wenig der Lösungsansatz.

    Wenn ich in einer Richtextbox in einer Zeile ein "Tab" mache, möchte ich, dass er bis zum Drücken der Entertaste die folgenden Zeilen ebenfalls passend einrückt.
    Das Problem ist, dass die Textbox in ihrer Größe veränderbar ist. Das heißt, der Zeilenumbruch, welcher durch die Richtextbox automatisch generiert wird, ändert sich ja, sobald ich diese größer oder kleiner ziehe.

    Ich hoffe das war verständlich ^^
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D

    MemoAnMichSelbst schrieb:

    Ich hoffe das war verständlich

    Leidernein.

    Einen Tab "machen", und dann rödelt das Programm iwie los, irgendwie in einer Endlos-Schleife, bis du "Enter" drückst??

    Das einzige, was ich aus diesen "Angaben" phantasieren kann, ist, dass du vlt. einen Spalten-Satz erwirken möchtest.
    Okay, ich versuche es dann mal anders.
    Es handelt sich ja um eine Richtextbox. Da hab ich ja einige feine Formatierungsmöglichkeiten.
    Hier geht es um die Möglichkeit AcceptsTab aktiv zu schalten und somit dem Anwender zu erlauben mittels Tab die Zeilen einzurücken.

    Nun klappt das ja wunderbar bei einer Zeile, jedoch wenn das Ende der Richtextbox erreicht ist, macht das Ding ja automatisch nen Zeilenumbruch (und dem ist gut so... also das will ich nicht ausschalten^^) und beginnt die nächste Zeile direkt am Anfag... Also nicht eingerückt. Dem ist wiederum nicht gut... Dann muss der Anwender ja bei jeder Zeile anschließend ein Tab einfügen. Und dem ist wiederum noch schlechter, denn wenn man die Richtextbox größer zieht, sind die Tab-Sprünge mitten im Text.
    Er soll mir, wenn in der Zeile vom Benutzer ein Tab (oder mehrere) benutzt wurde um den Text einzurücken, das für alle Zeilen machen, bis der User über die Entertaste manuell einen Zeilenumbruch erwirkt. Denn nur dieser Zeilenumbruch bleibt bestehen wenn die Richtextbox ihre Größe ändert.

    Besser? ^^
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D
    ich glaub nicht, dass da was geht. Der automatische Zeilumbruch ist ja nicht im Text enthalten, sondern ist nur Sache der Darstellung.
    Und die Darstellung ist halt so eingerichtet, dass der umgebrochene Zeilenrest am Anfang der nächsten Zeile erscheint (die nurmehr eine "virtuelle" Zeile ist).
    Ich weiß aber auch nicht, wie du dir das tatsächlich vorstellst - soll der umgebrochene rest nicht am Zeilenanfang erscheinen, sondern unter dem letzten Tabstopp?
    Was geschieht bei mehreren Tabs - der Umbruch immer unter den letzten Tab?
    Und wie solls aussehen, wenn ein Tab selbst so weit hinten liegt, dasser automatisch umgebrochen wird?

    Also soweit ich sehe, verwüsten automatische Zeilumbrüche immer das Layout, das ist halt so bei zu lange Zeilen.
    Wirst wohl Recht haben.
    Ist halt aus "Word" so bekannt ^^ Aber da ist die Länge einer Zeile ja auch durch das Seitenformat definiert.. Nicht wie bei einer veränderbaren Rtb...
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D
    Also gehen tut vermutlich alles, nur ist das eben immer eine Frage des Aufwandes den man bereit ist zu tätigen. Und das wäre hier in das OnPaint Event einzugreifen .

    Aber mal eine ganz einfache Frage: wäre es nicht vollkommen ausreichend bei der RTB die Property WordWrap auf False zu setzen und so den Darstellungs-Zeilenumbruch zu verhindern ?

    Oder brauchst Du der/die/das Wordwrap unbedingt ?
    Also wie schon gepostet möchte ich den Zeilenumbruch erhalten :)
    Ich werd mir das Event mal anschauen
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D
    Das OnPaint angugge ist auf jeden Fall gut, aber ich glaub, eine Textbox - gar eine Richtextbox - selber proggen, da dürfteman'n Vogel kriegen.
    Du mußt ja auch die Cursor-Position zeichnen, und Text-Markierung, und dass eingetippter Text an der richtigen Stelle erscheint/gelöscht wird.