Eigenes STRG+V mit Richtext-Box ?
-
Ich wollte nicht das Standard "STRG+V"-Einfügen der Richtext-Box benutzen, sondern vorher das Zeug in der Zwischenablage selber noch etwas formatieren bevor es die Richtextbox anzeigen soll.
Momentan versuche ich die Infos dazu via KeyDown-Event zu ergattern.
Aktueller Versuch sieht so aus:private void myRichtext_KeyDown(object sender, KeyEventArgs e) { if (e.Control) { System.Diagnostics.Debug.WriteLine("STRG!!"); } if (e.KeyCode == Keys.V) { System.Diagnostics.Debug.WriteLine("VVVV!!"); } System.Diagnostics.Debug.WriteLine("key was pressed!!!"); }
Wenn ich nur STRG drücke passiert rein gar nichts.
Wenn ich nur V drücke erscheint "VVVV!!" und "key was pressed!!!"
Wenn ich STRG+V drücke erscheint: "STRG!!" und "key was pressed!!!"Rumprobiert habe ich auch schon mit e.Modifiers, etc...
Könnte in e.KeyCode evt. mehr als nur Keys.V drin stehen ? Wenn ja, wie filtere ich dann da Keys.ControlKey und Keys.V raus ?Das Richtext-Teil geht mir übrigens auf den Keks:
BeginUpdate() und EndUpdate() kennt es nicht.
Wenn 2 Zeichen markiert sind und beide unterschiedliche Schrift haben, aber beide auf Fett gesetzt werden sollen, ist SelectionFont=null und man darf beide Zeichen einzeln setzen und muss erst wieder für jedes Zeichen das Font-Objekt zusammenbasteln...
-
Servus,
if ( e.KeyCode == Keys.V && e.Modifiers == Keys.Control ) { this.PasteText(); e.Handled = true; return; }
Du musst beide Tasten gleichzeitig überprüfen. nicht nacheinander...
mfg
Hellsgore
-
Das klappt auch nicht ;/
Aus irgendwelchen Gründen taucht bei Drücken von STRG und gleichzeitigem Drücken von V überhaupt kein V in den KeyEventArgs auf.
KeyCode enthält dann laut Debugger immer Keys.Control und Keys.ControlKeyGibt es ne Möglichkeit direkt die gedrückten Tasten auszulesen ?
Ähnlich wie die GetKeyState() Funktion bei der WinAPI ?
Dann bräuchte ich das KeyDown-Event nur noch um festzustellen ob überhaupt was gedrückt wurde ?