处理 HelpButton 点击事件?

3

最近我一直在研究帮助按钮,你只需按照以下步骤即可将其添加到Windows表单标题栏:

frm.MaximizeBox = false;
frm.MinimizeBox = false;
frm.HelpButton = true;

问题是我正在尝试捕获HelpButton被点击时的点击事件,然后显示一个MessageBox(),我已经研究了_HelpButtonClicked,但是还没有能够使其正常工作(如果有人能够展示一下示例,那将非常有帮助)。
我尝试使用与捕获正常按钮的点击事件相同的方式来捕获点击事件,但是这不起作用。以下是我尝试的示例,问题是它不起作用,当点击HelpButton时,MessageBox()不会弹出:
    frm.MaximizeBox = false;
    frm.MinimizeBox = false;
    frm.HelpButton = true;
    frm.HelpButton.Click += HelpButtonClicked;

    static void HelpButtonClicked()
    {
        MessageBox.Show("Help Button Clicked");//Doesn't work :(
    }

非常感谢您的帮助!


首先,你遇到的问题是什么?它无法编译吗?还是在执行过程中文本框没有出现? - GEEF
@GEEF 的问题是消息框根本没有出现。 - coddding
谢谢您更新问题。代码看起来像是WinForms,如果是这种情况,您可以考虑在问题中添加WinForms标签 :) - GEEF
你的代码无法编译。请复制粘贴来自你的集成开发环境(IDE)的代码,不要凭记忆书写。 - Blorgbeard
2个回答

6

您的表单应当处理HelpButtonClicked事件(而不是名为HelpButton的按钮):

frm.HelpButtonClicked += HelpButtonClicked;

static void HelpButtonClicked(object sender, CancelEventArgs e)
{
    MessageBox.Show("Help Button Clicked");//Works :)
}

非常感谢 :) 完美运行。 - coddding
嗨,我应该在哪里编写这部分代码?在我的Form.cs文件中吗? - mikesneider
@mikesneider 它可能出现在任何地方。如果你想在你的表单代码中使用它,只需将 frm. 替换为 this. 即可。 - Ivan Stoev

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接