C# Alt Key problems

本文关键字:problems Key Alt | 更新日期: 2023-09-27 18:05:22

关于c#中Alt键的使用,我有一些问题。

下面是我的代码:
switch (e.KeyCode)
{
    case Keys.Menu:
        ((do something))
        break;
}

如果我理解正确的话,Keys。Alt用于组合键,而Keys。菜单用于检测Alt键的简单按下。我不希望组合键,所以我使用键。菜单。我确实觉得很奇怪,对于Shift,有一个键。shift键,Alt键叫做keys。menu。为什么不直接叫它keys。altkey呢?令人费解!

无论如何,代码工作正常。然而,Alt键似乎有一个默认功能。例如,当我在文档中输入内容时,按下Alt键,插入点光标就会消失,就像当前窗口或任务被取消选择一样。

Alt键的默认功能对我的程序有问题,所以我做了一些搜索,发现了以下代码来禁用它:

    protected override bool ProcessDialogKey(Keys keyData)
    {
        if ((keyData & Keys.Alt) == Keys.Alt)
            return true;
        else
            return base.ProcessDialogKey(keyData);
    }

输入此代码后,Alt键的默认功能已被禁用。然而,Alt键似乎也变得完全没有功能,不再像我编程的那样执行((做某事))的任务。

是否有任何方法可以禁用Alt键的默认功能而不会使其成为非功能键?

C# Alt Key problems

在不知道你在做什么的情况下…

…为什么不能在返回true之前执行"某事"?

    protected override bool ProcessDialogKey(Keys keyData)
    {
        if ((keyData & Keys.Alt) == Keys.Alt)
        {
            Console.WriteLine("Alt");
            // ... call something from right here! ...
            return true;
        }
        return base.ProcessDialogKey(keyData);
    }