我该如何测试Ctrl Down in Windows Forms/C#?测试'Ctrl'keydown在C#
8
A
回答
15
bool ctrl = ((Control.ModifierKeys & Keys.Control) == Keys.Control);
5
如果你想在一个按键处理来检测,你会看在调节特性:
private void button1_KeyPress(object sender,
System.Windows.Forms.KeyPressEventArgs e)
{
if ((Control.ModifierKeys & Keys.Control) == Keys.Control)
{
MessageBox.Show("Pressed " + Keys.Control);
}
}
其实,看那个,看它不使用e
参数,它似乎只要你的“this”是从Form或Control派生的,那么你可以随时进行这个调用,而不仅仅是在键盘事件处理程序中。
但是,如果你想确保一个组合,如按Ctrl - 一个被压,你会需要一些额外的逻辑。
private void myKeyPress(object sender,
System.Windows.Forms.KeyPressEventArgs e)
{
if (((Control.ModifierKeys & Keys.Control) == Keys.Control)
&& e.KeyChar == 'A')
{
SelectAll();
}
}
1
添加迟到的回答一个老问题...
其他的答案读取控制键的当前状态。如果您想直接从传递事件参数读取控制标志(即,因为它是在该事件发生的时间),使用KeyUp
或KeyDown
事件(不KeyPress
):
private void HandleTextKeyDown(object sender, KeyEventArgs e)
{
if (e.Control && e.KeyCode == Keys.A)
{
((TextBox)sender).SelectAll();
e.Handled = true;
}
}
相关问题
- 1. C#空测试
- 2. 在C做T测试#
- 3. JAGPDF在C++对齐测试
- 4. C++:在平等的测试
- 5. HPQC C#创建测试计划测试
- 6. C#COM服务器 - 测试在C++
- 7. 测试C/C++源代码
- 8. C++测试代码
- 9. C++ CppUnit测试(CPPUNIT_ASSERT)
- 10. C#测试资源
- 11. C#单元测试
- 12. C#单元测试
- 13. C#模拟测试
- 14. C#单元测试
- 15. 单元测试(C#)
- 16. 测试:Objective-C + Swift
- 17. 在c#中测试HTTP请求的单元测试#
- 18. C#单元测试错误,在运行测试
- 19. C/C++功能/系统测试的测试框架?
- 20. 从Xcode转换Objective C测试到C++的Google测试
- 21. 用于测试C和C++分配器的基准测试?
- 22. eclipse C++在Linux上用测试名称中的空格调试谷歌测试
- 23. 在C++中测试数据类型
- 24. 在C++中测试正数的输入
- 25. 在C++中进行单元测试
- 26. C#如何在单元测试
- 27. 测试Socket是否连接在C#
- 28. 正规测试在C++或Java(统计)
- 29. 如何在C++中使用**测试?
- 30. 如何在c#中测试SendInput