【问题标题】:c# KeyEventArgs with lambda expressionc# KeyEventArgs 与 lambda 表达式
【发布时间】:2020-07-02 17:24:06
【问题描述】:

这可以用 lambda 表达式来写吗?

我试过 private void CancelBtn_Click(object sender, EventArgs e) => Close();并且有效。

private void UpdateEmployees_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.KeyCode == Keys.Escape)
        {
            Environment.Exit(0);
        }
    }

【问题讨论】:

    标签: c# lambda


    【解决方案1】:

    您可以通过传递输入参数来编写 lambda 表达式来处理 OnKeyDown 事件,而无需声明 UpdateEmployees_KeyDown 方法

    UpdateEmployees.OnKeyDown += (sender, e) =>
    {
        if (e.KeyCode == Keys.Escape)
        {
            Environment.Exit(0);
        }
    }
    

    您的第一个表达式 private void CancelBtn_Click(object sender, EventArgs e) => Close(); 不是 lambda 表达式,它是一个 expression-bodied method,从 C# 6 开始提供

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多