2009-04-15 15 views
0

Ich habe eine abgeleitete TextBox, wo ich die Benutzereingabe abfangen, um sie zu manipulieren. Allerdings muss ich die ursprüngliche Eingabe beibehalten. Meine Idee war also, eine innere TextBox innerhalb meiner abgeleiteten Klasse zu halten und die Eingabe des Benutzers an diese TextBox zu senden, bevor ich sie manipuliere.Sende Tastatureingaben an TextBox

Der Grund für diesen Ansatz ist, dass ich nicht auf all diese speziellen Aktionen wie: etwas, ctrl + a, [del], geben Sie etwas anderes, [Backspace] und so weiter ...

Allerdings weiß ich nicht, wie man einen einzelnen Tastendruck (keycode, ascii, char) an eine TextBox senden. Vielleicht haben Sie eine andere Idee ohne eine innere TextBox? Vielen Dank!

+1

Welche Art von Funktionalität versuchen Sie, indem Sie dies tun? Ist das Kennwort-Textfeld nicht die gewünschten Dinge? – shahkalpesh

+0

Ja, Sie haben Recht - grundsätzlich möchte ich ein Passwort-Steuerelement erstellen, aber innerhalb eines DataGridViewTextBoxEditingControl. Fortunately - danke für deinen Kommentar - ich sehe, dass es auch eine PasswordChar-Eigenschaft gibt. – tanascius

Antwort

0

Wenn ich Sie richtig verstehe, könnten Sie einfach die innere Textbox Tastaturfokus haben und die Eingabe behandeln. Dann könnten Sie seine KeyDown/KeyUp/KeyPress Ereignisse in Ihrer Container-Klasse behandeln, um die Eingabe "abzufangen".

0

Wahrscheinlich möchten Sie keine Manipulation auf Tastaturebene verwenden, da es Möglichkeiten gibt, den Text ohne Tastatur zu ändern (insbesondere mit Kopieren, Ausschneiden und Einfügen). Warum verwenden Sie die Text-Eigenschaft nicht, um den Text aus dem ursprünglichen Textfeld abzurufen, und speichern Sie das dann einfach?

+0

Das ist genau der Grund, warum ich an eine innere TextBox dachte, die sich wie die ursprüngliche verhält - Strg + A, Strg + C, Strg + V und so weiter würden korrekt gehandhabt werden. Ich vermisse ein Gegenstück zu den Methoden wie OnKeyPress() - dieses Gegenstück sollte eine KeyPressEventArg vielleicht ProcessKeyChar() akzeptieren? – tanascius

+0

Ein Benutzer kann kopieren, ausschneiden und einfügen, ohne die Tastatur zu berühren. – jdigital