2013-01-20 27 views
9

Tôi có một System.Windows.Forms.TextBox có nhiều dòng nhưng không chấp nhận các lệnh như Control-A và Control-Backspace.Làm cách nào tôi có thể cho phép những thứ như Ctrl-A và Ctrl-Backspace trong C# TextBox

Điều khiển-A không có gì và Control-Backspace chèn ký tự hộp.

Thuộc tính "Đã tắt kích hoạt phím tắt" được đặt thành true.

+0

Bạn có thể hiển thị các mã mà bạn đang sử dụng và nơi nó không 'chấp nhận command' – MethodMan

+2

Đó là một hộp văn bản, không phải là một trình soạn thảo. Bạn có thể tự mình thực hiện. May mắn bạn –

Trả lời

16

Từ MSDN về tài sản ShortcutsEnabled:

Việc kiểm soát TextBox không hỗ trợ các tổ hợp phím CTRL + A phím tắt khi giá trị tài sản Multiline là đúng.

Bạn sẽ phải tự mình thực hiện.

Something như thế này nên làm việc:

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

& nên là '&&' – MethodMan

+1

@DJKRAZE Không, không nên hoạt động tốt. – Blachshma

+0

Cảm ơn, điều gì về Control-Backspace? Tôi sử dụng SO SOCH đó và nó gây lỗi cho tôi quá tệ khi một hộp văn bản không hỗ trợ nó. – JDiPierro

Các vấn đề liên quan