C# 使用父控件句柄禁用默认蜂鸣音

C# 使用父控件句柄禁用默认蜂鸣音,c#,winforms,winapi,C#,Winforms,Winapi,我对自定义winforms控件有一个恼人的问题 我使用一个标准的空UserControl,它由一个自定义表单托管 当我按任意键时,windows默认的蜂鸣声会触发 我跳过了KeyDown/KeyPress,但似乎在控件接收到事件之前发出了嘟嘟声 创建控件的代码非常简单: public class GUITemplateTestNode : UserControl, IPluginEvaluate { public GUITemplateTestNode() {

我对自定义winforms控件有一个恼人的问题

我使用一个标准的空UserControl,它由一个自定义表单托管

当我按任意键时,windows默认的蜂鸣声会触发

我跳过了KeyDown/KeyPress,但似乎在控件接收到事件之前发出了嘟嘟声

创建控件的代码非常简单:

    public class GUITemplateTestNode : UserControl, IPluginEvaluate
{
    public GUITemplateTestNode()
    {
        //setup the gui
        InitializeComponent();
    }

    void InitializeComponent()
    {

    }

    public void Evaluate(int SpreadMax)
    {

    }
}
我无法访问表单代码,因为它托管在另一个应用程序(Delphi)中,但我可以访问主表单句柄

如果我创建一个简单的独立(纯winforms)应用程序,则不会出现beep


有没有办法使用此父窗体HWND来禁用蜂鸣声

您是否尝试在事件中将属性设置为
true
?这应该会吞噬信息。这里的焦点是什么?UserControl不需要焦点,它是其他控件的容器。击键被发送到带有焦点的窗口,因此很可能是Delphi代码在向您发出嘟嘟声,提醒您按键没有任何用处。如果你的UserControl实际上没有任何子控件,那么从控件派生是正确的做法。好的,我想知道我是否应该删除这个问题,因为实际上问了主要的应用程序开发人员,错误是他们在插件窗体上的键上有一个调试蜂鸣功能,这让我笑了一下:))