2013-01-20 17 views
9

Mam System.Windows.Forms.TextBox, który jest wieloliniowy, ale nie akceptuje poleceń takich jak Control-A i Control-Backspace.Jak mogę zezwolić na takie rzeczy jak Ctrl-A i Ctrl-Backspace w C# TextBox

Control-A nic nie robi, a Control-Backspace wstawia znak pola.

Właściwość "Skróty włączone" ma wartość true.

+0

można pokazać kod, którego używasz i gdzie to nie jest 'akceptując command' – MethodMan

+2

Jest to pole tekstowe, a nie procesor tekstu. Możesz sam to wdrożyć. Szczęściarz. –

Odpowiedz

16

Od MSDN na posesji ShortcutsEnabled:

Kontrola TextBox nie obsługuje CTRL + klawisz skrótu, gdy wartość nieruchomości wielowierszowego jest prawdą.

Będziesz musiał zaimplementować go samodzielnie.

Coś jak to powinno działać:

private void textBox1_KeyDown(object sender, KeyEventArgs e) 
    { 
     if (e.Control & e.KeyCode == Keys.A) 
     { 
      textBox1.SelectAll(); 
     } 
     else if (e.Control & e.KeyCode == Keys.Back) 
     { 
      SendKeys.SendWait("^+{LEFT}{BACKSPACE}"); 
     } 
    } 
+0

& powinno być '&&' – MethodMan

+1

@DJKRAZE Nie powinno, i działa dobrze. – Blachshma

+0

Dzięki, a co z Control-Backspace? Używam tego SO SOU i to tak źle mnie boli, gdy textbox go nie obsługuje. – JDiPierro

Powiązane problemy