Datagridview Cell - Zeilenumbruch manuell einfügen

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Peter329.

    Datagridview Cell - Zeilenumbruch manuell einfügen

    Hi,

    Ich habe ein "Vokabelheft" mit einer Datagridview realisiert.

    Die meisten Einträge passen komplett in eine Zelle. Aber manchmal braucht es ein paar Erklärungen und dann ist der Text länger als die Zelle.

    Kein Problem: ich aktiviere die Eigenschaften AutosizeRowsMode=AllCells sowie ...CellStyle.WrapMode=True und schon sieht die Sache so aus wie im Anhang gezeigt.

    Nun habe ich einen Wunsch: ich möchte den Zeilenumbruch SELBST kontrollieren ! D.h. Ich möchte im Edit-Mode der Zelle einen Zeilenvorschub eingeben.

    Aber natürlich geht das nicht so einfach. Wenn ich die "Neue Zeile" Taste drücke, dann wird der Edit Mode beeendet und KEIN Zeilenvorschub eingefügt!

    Ich habe alles Mögliche versucht: ALT-NeueZeile, CTRL-NeueZeile, TAB, CTRL-TAB, etc etc ... das Ergebnis ist immer das Gleiche.

    Weiß jemand wie man in die Zeile einen Vorschub hineinbekommt ? Oder geht das vielleicht schlicht und ergreifend nicht?

    LG
    Peter

    [edit]

    Irgendwie muss das zu realisieren sein, denn wenn ich etwa einen Text aus notepad in die Zelle mit "Cut and Paste" einfüge, dann werden die Zeilenvorschübe realisiert ! (s. Anhang).

    Die Idee wäre jetzt ein "Vorschubzeichen" zu definieren, das sonst nicht vorkommt, etwa ein "$" und das im EndEndit Ereignis in x'0A0D zu übersetzen. Aber das wäre natürlich nicht sehr elegant ! Geht es einfacher ?

    Bilder
    • s 2019-04-09 08-42-147.jpg

      29,04 kB, 495×259, 100 mal angesehen
    • s 2019-04-09 10-06-039.jpg

      9,16 kB, 491×130, 96 mal angesehen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Peter329“ ()

    Hallo!

    Ich kenne es aus anderen Programmen nur so,dass cih mit SHIFT-Enter manuell eine neue Zeile einfügen kann.

    LG
    ok ... SHIFT+ENTER funktioniert !

    Das Verhalten ist ein bissl anders als ich es erwartet hätte ... es wird eine neue Zeile generiert aber die AUTOSIZE Funktion greift nicht ! Das heißt, es sieht so aus, als würde der Inhalt der Zelle gelöscht und man gibt seine Daten in eine leere Zelle ein ! Deshalb ist mir diese Funktionalität bisher auch entgangen.

    Tatsächlich wird der Inhalt der Zelle nicht gelöscht, sondern nur nach oben aus dem Display der Zelle geschoben. Man kann aber nicht scrollen ... die Pfeiltasten etwa, beenden den Edit Mode.

    Erst wenn man den Edit Mode verlässt, schlägt AUTOSIZE zu und man sieht den kompletten Zelleninhalt, also alle Zeilen.

    Ein bissl gewöhnungsbedürftig ist das schon ... aber man kann damit leben ! Schöner, wäre es, wenn SHIFT-ENTER die Zelle vergrößert und eine neue Zeile am Ende zeigt ... aber das hängt wohl damit zusammen, wie die Datagridview die Eingabe im Edit Mode handhabt (nämlich mit einer dynamisch generierten Textbox).

    Na, man kann eben nicht alles haben. Es sei denn es weiß jemand wie man das doch etwas mehr "user friendly" hinbekommen kann. :)

    Recht herzlichen Dank für deine Ratschlag ... !

    LG
    Peter