当前位置: 首页 > 知识库问答 >
问题:

C#Windows窗体:Framework 2.0在UserControl上的多键检测

相化
2023-03-14

我想识别在UserControl内的TextBox上按下的Ctrl+e键,因为这是使用textbox_KeyDown(对象发送者,KeyEventArgs e)事件并检查以下条件

    if(e.KeyCode == Keys.E && Control.ModifierKeys == Keys.Control) 
    {
        //Code
    }

有人能帮帮我吗。提前致谢

共有1个答案

满自明
2023-03-14

您只是从调试器获得了令人困惑的信息。Keys枚举具有[Flags]属性,但它实际上并不使用位来一致地标识密钥。LButtonShiftKey==0x010x10==0x11=Keys.ControlKey。这是意料之中的,因为您先按了Ctrl键。它是你想要的下一次击键,当你按下E同时按住Ctrl时。但这不会发生,因为调试器崩溃了。

最好的办法是:

if (e.KeyData == (Keys.E | Keys.Control)) {
    // etc...
}
 类似资料:
  • 我目前正在尝试制作一个应用程序(只是为了学习,试图习惯C#,因为我有点新手),我想在表单中创建一个可以说是终端的应用程序。我决定尝试使用包含多行的文本框,并尝试使用if和else语句,但当我进入文本框并开始键入时,它会立即返回每次击键后为“else”设置的错误消息。我不知道是什么,但我觉得我错过了什么。有什么建议吗?另外,是否可以单独为该应用程序创建我自己的“命令”?我说的是,当你输入“progr

  • 我创建了一个应用程序,该应用程序连接到我在C#visual Studio2015中使用Add->New Item->基于服务的数据库创建的SqlDataBase。我把这个应用程序推到了Github,但当我的朋友试图运行这个程序时,他遇到了这个异常: 我的连接字符串为:Data source=(LocalDB)\mssqllocaldb;attachdbfilename=datadirectory\

  • 最近,我(主要出于好奇)制作了一个无边界表单。在制作了我自己的标题栏后,它包括标题和三个按钮(最小化、最大化和关闭),就像每个普通的Windows程序一样。我还为这些按钮编写了代码(只要问一下你是否想看到代码)。 但是,我注意到没有动画。我的意思是,例如,如果我单击最小化按钮,没有动画,程序立即消失(它不关闭,按钮工作,但没有动画)。这种情况在所有情况下都会发生:当我打开程序时,它会立即出现,当我

  • 问题内容: 我正在编写一个跨平台程序。我希望这个程序可以在Windows和Linux上运行,所以对于两个平台,我有两个不同的代码段。如果操作系统是Windows,则我希望第一个代码段可以运行;如果是Linux,那么我要运行第二个代码段。 所以我写了下面的代码,但是在Windows和Linux上构建时都会出错。我该怎么解决? 问题答案: 通常是这样完成的(或多或少): 这样,只有在Linux平台上才

  • 因此,我陷入了尴尬的境地--我想用Visual Studio创建Windows窗体应用程序,但我找不到任何地方来创建Visual C++Windows窗体模板。我甚至尝试重新安装Visual C++,添加其他库,并在线搜索答案--没有结果。 我当然可以用C#创建新的Winforms: 但不是在C++中:

  • 你好,我正在为我的培训编程做一个小应用程序。我是一天的学习者:D。 我想让发电机在我的论坛张贴。我创建了一个简单的生成器,现在我想把post从应用程序变成网站。 现在... 当我点击应用程序中的按钮5 想。 > 转到链接(链接到发布网站) 从“textbox1_tytul”windows应用程序复制文本以将标题放置在网站上 从“TextBox1_Output”windows应用程序复制文本以放在网