if(CTRL + C已关闭) [英] if (CTRL + C is down)

查看:85
本文介绍了if(CTRL + C已关闭)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图做一些事情,如果CTRL失效,但是如果CTRL + C失败了,我就不知道该怎么办......



这是我的代码:



Im trying to do something if CTRL is down, but not if CTRL + C is down, and I don''t really get how to do it...

Here''s my code:

public Window()
{
    InitializeComponent();
    mskTime.KeyPress += new KeyPressEventHandler(keypressed);
}

private void keypressed(Object o, KeyPressEventArgs e)
{   
    // the C here doesn't work
    if (Control.ModifierKeys == Keys.Control && e.KeyChar != (char)Keys.C)
    {
         e.Handled = true;
    }
}

推荐答案

然后你需要处理不是 KeyPress ,但 KeyDown PreviewKeyDown 。我没有提供更多细节,因为你没有标记你正在使用的UI库或应用程序类型,但是你很容易找到如何使用事件参数中传递的数据来检测Ctrl键。

< br $> b $ b



谢谢你的澄清。您需要使用:

http:/ /msdn.microsoft.com/en-us/library/system.windows.forms.control.onkeydown.aspx [ ^ ],

http://msdn.microsoft.com/en-us/library/system.windows.forms.control.onpreviewkeydown.aspx [ ^ ],

http ://msdn.microsoft.com/en-us/library/system.windows.forms.control.keydown.aspx [ ^ ],



http://msdn.microsoft.com/en-us/library/system.windows.forms.control.previewkeydown.aspx [ ^ ]。br />


要获取密钥的信息,请参阅: http://msdn.microsoft.com/en-us/library/system.windows.forms.keyeventargs.aspx [ ^ ]。



使用:

http:/ /msdn.microsoft.com/en-us/library/system.windows.forms.control.previewkeydown.aspx [ ^ ],

http://msdn.microsoft.com/en-us/library /system.windows.forms.keyeventargs.keycode.aspx [ ^ ]。



-SA
Then you need to handle not KeyPress, but KeyDown or PreviewKeyDown. I''m not providing more detail because you did not tag UI library you are using or application type, but you will easily find out how to detect Ctrl key using the data passed in event arguments.



Thank you for clarification. You need to use:
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.onkeydown.aspx[^],
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.onpreviewkeydown.aspx[^],
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.keydown.aspx[^],
or
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.previewkeydown.aspx[^].

To get an information of a key, see also: http://msdn.microsoft.com/en-us/library/system.windows.forms.keyeventargs.aspx[^].

Use:
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.previewkeydown.aspx[^],
http://msdn.microsoft.com/en-us/library/system.windows.forms.keyeventargs.keycode.aspx[^].

—SA


试试这个:



try this :

if ((Control.ModifierKeys == Keys.Control) && ((int)e.KeyChar != 3))
           {
               e.Handled = true;
           }







---------- ----------



问候

H.Maadani




--------------------

Regards
H.Maadani


这篇关于if(CTRL + C已关闭)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆