c# - 如何将表单置于请求帮助模式?

标签 c# .net winforms events

当 HelpButton 属性设置为 true(并且您不显示最小化/最大化按钮)时,.NET Windows 窗体的标题栏上可以有一个帮助按钮。单击此帮助按钮时,表单会进入帮助模式,此时光标会发生变化,并且单击表单中的其他地方不会产生通常的效果。相反,单击会在单击的控件上引发 HelpRequested 事件。很好,只是我需要帮助按钮和最小化/最大化按钮。所以我在表单的客户区创建了自己的帮助按钮。单击它时,如何将表单置于帮助模式?

最佳答案

找到了。

[DllImport("user32.dll")] private static extern int SendMessage(IntPtr hwnd, int msg, IntPtr wp, IntPtr lp);
private const int WM_SYSCOMMAND = 0x112;
private const int SC_CONTEXTHELP = 0xf180;

private void button1_Click(object sender, EventArgs e) {
  button1.Capture = false;
  SendMessage(this.Handle, WM_SYSCOMMAND, (IntPtr)SC_CONTEXTHELP, IntPtr.Zero);
}

关于c# - 如何将表单置于请求帮助模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/986790/

相关文章:

.net - 在 F# 中使用机器学习的资源

c# - 如何在 WebBrowser 控件中启用 inPrivate 模式

c# - SetWindowPos 每次将窗口移动到不同的位置

c# - 真正的自定义OpenFileDialog .NET

c# - 未插入 NULL 值

.net 框架版本(或运行什么?)

c# - 访问其他形式的私有(private)方法

.net - 添加节点后自动对TreeView进行排序

c# - 如何在 C# 中完成 'WithRepeatCount' 时停止作业

c# - 无法将 azure 表存储中字符串类型的实体更新为 null