protected override bool ProcessCmdKey(ref message msg,Keys keyData)

时间:2014-12-02 15:41:34

标签: c# function

我正在开发visual studio 2012中的应用程序。我使用了一个函数:

protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
        {
            switch (keyData)
            {
                case (Keys.Enter):
                    {
                        btnok.PerformClick();
                        return true;
                        break;
                    }
            }
            return base.ProcessCmdKey(ref msg, keyData);
        }

我想知道

  1. 它是内置功能吗?
  2. 第一行输入参数'ref Message msg'的用途是什么?
  3. 声明的目的是什么:

    return base.ProcessCmdKey(ref msg, keyData);
    
  4. 任何机构请解释。

1 个答案:

答案 0 :(得分:0)

是的,Form.ProcessCmdKey是Windows窗体框架的一部分。

它的作用:

  

ProcessCmdKey方法覆盖基础   ContainerControl.ProcessCmdKey实现提供主菜单命令键和MDI加速器的附加处理。   有关捕获击键的信息,请参阅"如何使用Visual C#"捕获控件中的击键。和#34;如何使用Visual Basic .NET跟踪.NET控件中的击键"在http://support.microsoft.com的Microsoft知识库中。


  

声明的目的是什么:return base.ProcessCmdKey(ref msg, keyData)

语法base.Method()表示您正在调用最接近层次结构树中当前类的基类中定义的Method

由于您的课程直接来自Formbase.ProcessCmdKey会调用Form定义的方法(上述方法)。

我强烈建议阅读:base (C# Reference)