Editieren von Akzenten in einer TextBox / DatagridView

  • VB.NET

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

    Editieren von Akzenten in einer TextBox / DatagridView

    Hi,

    ich habe hier ein kniffliges Problem. Ich hoffe, ihr habt ein wenig Geduld, weil ich ein wenig weiter ausholen muss.

    In einer Datagrid View speichere ich Vokabeln, so wie etwa in einem Vokabelheft. In einer Zelle steht etwa das Wort

    matúto

    Das "u" hat einen Akzent, also "ú" ... und das ist Wesentlich für die Aussprache bzw. Bedeutung. Deshalb muss man diese Dinge sehr genau pflegen.

    Nehmen wir an, ich will matúto in mátuto ändern, dann ist das ganz schön aufwändig. Ich muss das "ú" markieren und mit "u" überschreiben .... und dann muss ich das "a" markieren und ´ + a eingeben.

    Das klingt nicht sehr schlimm - aber wenn man das ständig machen muss, kann das ganz schön nervig werden und bei der Arbeit aufhalten.

    Meine Idee wäre jetzt, die Funktion der Akzent-Taste zu verändern: ich springe im Edit Mode der Zelle von Vokal zu Vokal ... ist CTRL-gedrückt, wird der Akzent eingeschaltet, andernfalls wird er ausgeschaltet. Das sollte das Leben erheblich vereinfachen !

    So würde ich das realisieren wollen:

    Ich richte einen Event-Handler für die Textbox des Edit Mode der DatagridView ein.

    Im Ereignis Key-Down der TextBox frage ich ab, ob es sich um die Akzent Taste handelt.

    Wenn dies der Fall ist, hole ich mir die aktuelle Caret Position, suche den nächsten Vokal in der TextBox und "toggle" den Akzent gemäß CTRL Status.

    Dann setze die neue Caret Position und kennzeiche den Tastendruck als "handled".


    Ich hoffe, ihr habt mir folgen können ... :)

    Das ist natürlich ein ziemlicher Aufwand. Bevor ich den in Angriff nehme und Kopfstände veranstalte, würde ich euch fragen wollen, ob das nicht irgendwie einfacher geht ?

    Vielleicht hat sich ja jemand von euch mit einem ähnlichen Problem herumgeschlagen und weiß wie man das kräftesparend lösen kann. Oder vielleicht gibt es irgend eine Einstellung im vb.Net oder Windows, die das per se vernünftig abhandelt.

    LG
    Peter
    @Peter329 Oder in einem ContextMenu (über rechte Maustaste) öfnet sich ein Dialog, der das aktuelle Wort übernimmt und eine Liste mit allen Möglichkeiten von Akzenten anbietet (muss dann in Abhängigkeit von dem aktuellen Wort bereitgestellt werden) und dann per Doppelklick das korrekte Wort übergibt.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @Peter329: Der Ansatz klingt doch ganz brauchbar, wenn auch etwas Gefrickel bei der Umsetzung. Ich frag mich aber gerade: Wie kommen die (falsch akzentierten) Wörter überhaupt ins DGV?
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.