Japanische Schrift in TextBox erzwingen?



  • Hallo!

    Ich suche mir seit Tagen enen Ast, aber werde einfach nicht schlauer.

    Ich möchte folgendes erreichen:
    Innerhalb einer Form befinden sich mehrere TextBoxes, die die Eingabe unterschiedlicher Sprachen ermöglichen sollen. So soll z.B. in einer Textbox soll die Eingabe in Deutsch, in einer anderen TextBox in Japanisch erfolgen.

    Nun könnte der Anwender manuell den Input Method Editor für japanisch aktivieren (sofern installiert), aber das wäre bei mehreren Eingabefeldern innerhalb der HForm bald sehr umständlich.

    Ich möchte erreichen, dass für das japanische Eingabefeld eben jene japanische Schreibweise erzwungen wird, so dass der Anwender einfach drauflos tippen kann, ohne selber die Eingabemethode wechseln zu müssen.

    Ich finde einfach keine Lösung dafür.
    Es gibt zwar eine Property ImeMode, in der ich den ImeMode festlegen kann (zum Beispiel Hiragana), aber die bewirkt so erst einmal nichts. Ich habe immer noch lateinsche Buchstaben. Vielleicht muss ich noch mehr Einstellungen vornehmen?

    Was muss ich tun? Hat jemand eine Idee?



  • Einfach mal ausprobieren

    Application.CurrentInputLanguage = InputLanguage.InstalledInputLanguages[0];
    für deutsche Tastatur

    Application.CurrentInputLanguage = InputLanguage.InstalledInputLanguages[1];
    für englische Tastatur

    Application.CurrentInputLanguage = InputLanguage.InstalledInputLanguages[2];
    für russisch Tastatur

    Application.CurrentInputLanguage = InputLanguage.FromCulture(System.Globalization.CultureInfo.GetCultureInfo("ru"))

    Dieses Beispiel ist sehr stark rechnerabhängig, wichtig ist du must Application.CurrentInputLanguage setzten, es gibt verschiedene Möglichkeiten, das Problem ist aber du must die Eingabesprachen im Dialog für Eingabegebietsschema aktivieren (lassen). Rechtemaustaste auf DE rechts unten in der Taskleiste und dann auf Einstellungen, evtl. Erweiterter Sprachsatz (ca. 200 MB) von MS nachinstallieren.

    Und das ganze über die Event der Textboxen "Enter" und "Leave" dann steuern.





  • Danke, mit den InputLanguages komme ich nun weiter! (Das Sprachpaket war natürlich schon installiert, das hätte ich vielleicht noch erwähnen sollen. :))



  • Nachdem ich an dieser Baustelle nun also etwas weiter gebastelt habe, kann ich ja zur Ergänzung noch etwas loswerden. Vielleicht nützt es auch mal jemand anderem...?

    Ähnlich wie Scania habe ich 3 InputLanguages installiert. Daher staunte ich nicht schlecht, als mir InputLanguage.InstalledInputLanguages stattdessen 4 Ergebnisse lieferte. Japanisch war doppelt.

    Der Grund liegt darin, dass für Japanisch gleich zwei Eingabemethoden vorgesehen sind, nämlich die Eingabe über IME (wonach ich ja suchte) sowie "Natural Input" (entspricht vermutlich der echten japanischen Tastatur?).

    Also muss ich zusätzlich noch die Property

    InputLanguage.InstalledInputLanguages[INDEX].[B]LayoutName[/B]
    

    nach dem richten Tastaturlayout prüfen.


Anmelden zum Antworten