c# - 需要用户控件中的接受按钮之类的东西

标签 c# .net winforms visual-studio

我需要在 Windows 应用程序的 UserControl(不是 Form)上有一个 Button 来响应“Enter”命中,设置为 FormAccept Button 的按钮的工作方式。

我无法使按钮获得焦点,因为我需要其他控件通过选项卡更改来获得焦点。

非常感谢任何帮助:)

最佳答案

AcceptButton 是 Form 的属性,不能用于 UserControl。不过,您可以简单地覆盖 ProcessCmdKey,只要用户控件具有焦点,这就会起作用。否则,如果您有多个可能处于事件状态的控件,则您将需要单独使用表单的 AcceptButton 或覆盖表单中的 ProcessCmdKey。

  protected override bool ProcessCmdKey(ref Message msg, Keys keyData) 
  {
      if (keyData == Keys.Enter) 
      {
        button.PerformClick();
        return true;
      }
      return base.ProcessCmdKey(ref msg, keyData);
    }

关于c# - 需要用户控件中的接受按钮之类的东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19512814/

相关文章:

c# - 欧拉计划 : Problem 1 (Possible refactorings and run time optimizations)

c# - 检测 Windows 字体大小(100%、125% 和 150%)

c# - 为什么我不能为 .NET 中的结构定义默认构造函数?

c# - 将字符串解析为没有斜杠的日期

c# - Task.WaitAll() 没有按预期工作

c# - 在 Pdf 上绘制成窗口窗体 C# (visual studio 2015)

c# - .NET Core - 构建项目指定 ReferencePath

c# - Haxe 编译器可以将任何 C# 代码转换为 Haxe 吗?

c# - File.Exists是否有害?

c# - IEnumerable<T> 到 IDictionary<U, IEnumerable<T>>