Làm cách nào để thử nghiệm cho Ctrl xuống trong Windows Forms/C#?Kiểm tra phím 'Ctrl' trong C#
8
A
Trả lời
15
bool ctrl = ((Control.ModifierKeys & Keys.Control) == Keys.Control);
5
Nếu bạn muốn phát hiện trong một handler bấm Key, bạn sẽ nhìn vào các thuộc tính modifier:
private void button1_KeyPress(object sender,
System.Windows.Forms.KeyPressEventArgs e)
{
if ((Control.ModifierKeys & Keys.Control) == Keys.Control)
{
MessageBox.Show("Pressed " + Keys.Control);
}
}
Trên thực tế, nhìn vào đó và thấy nó không sử dụng lập luận e
, nó có vẻ miễn là "điều này" có nguồn gốc từ Biểu mẫu hoặc Kiểm soát thì bạn có thể thực hiện cuộc gọi này bất cứ lúc nào và không chỉ trong trình xử lý sự kiện bàn phím.
Tuy nhiên, nếu bạn muốn đảm bảo một sự kết hợp, chẳng hạn như Ctrl - Một được nhấn, bạn sẽ cần một số logic bổ sung.
private void myKeyPress(object sender,
System.Windows.Forms.KeyPressEventArgs e)
{
if (((Control.ModifierKeys & Keys.Control) == Keys.Control)
&& e.KeyChar == 'A')
{
SelectAll();
}
}
1
Thêm một câu trả lời muộn để một câu hỏi cũ ...
Những câu trả lời khác đọc trạng thái hiện của phím điều khiển. Nếu bạn muốn trực tiếp đọc các cờ điều khiển từ args sự kiện thông qua (ví dụ như nó đã được tại thời điểm mà sự kiện này xảy ra), sử dụng một trong hai KeyUp
hoặc KeyDown
sự kiện (không KeyPress
):
private void HandleTextKeyDown(object sender, KeyEventArgs e)
{
if (e.Control && e.KeyCode == Keys.A)
{
((TextBox)sender).SelectAll();
e.Handled = true;
}
}
Các vấn đề liên quan
- 1. Làm thế nào để kiểm tra nếu một phím bổ trợ được nhấn (shift, ctrl, alt)?
- 2. Kiểm tra bàn phím chia
- 3. CTRL + C/CTRL + V không hoạt động trong Eclipse
- 4. Xử lý tổ hợp phím CTRL + C trên Win32
- 5. Mô phỏng ngắt bàn phím Ctrl-C trong Python khi đang làm việc trong Linux
- 6. không thể đặt sơ đồ bàn phím cho phím Ctrl-;
- 7. JavaScript: Kiểm tra xem nút CTRL có được nhấn
- 8. Chụp Ctrl + C trong hộp văn bản
- 9. kiểm tra Eclipse (Ctrl + Shift + I) tương đương trong IntelliJ IDEA (Community Edition)
- 10. Kiểm tra xem phím có bị Qt
- 11. Loại kiểm tra trong C++
- 12. Phím 'Ctrl' có được nhấn không?
- 13. chụp Ctrl-c trong ruby
- 14. Bắt Ctrl + C trong Java
- 15. tmux Scroll Lên/Xuống Trang sử dụng tổ hợp phím Ctrl-b và Ctrl-f
- 16. Có phím nóng để "đi kiểm tra" trong eclipse
- 17. Phím tắt kích hoạt jQuery Ctrl + Shift + z & Ctrl + z trong wysiwyg textarea
- 18. C#: Kiểm tra xem có phím nào được nhấn trong Bàn điều khiển
- 19. chụp ctrl + z tổ hợp phím trong javascript
- 20. Điều kiện nhấn phím Ctrl trong WPF MouseLeftButtonDown event-handler
- 21. Di traceback bằng Python trên Ctrl-C
- 22. TerminateProcess vs Ctrl + C
- 23. Phương pháp kiểm tra Inlining trong C#
- 24. Kiểm tra/Quản lý ACL trong C#
- 25. Cách kiểm tra XmlDeclaration trong XmlDocument C#
- 26. kiểm tra đơn vị trong C++
- 27. Kiểm tra tệp có trong C
- 28. Kiểm tra tràn/tràn trong C++?
- 29. Kiểm tra tệp trống trong C++
- 30. kiểm tra loại enum trong C/gcc