防止在窗体标题栏上单击鼠标右键显示系统上下文菜单

时间:2019-11-21 11:59:21

标签: c# .net forms winforms

如何禁用右键单击表单标题栏并阻止显示系统上下文菜单:

enter image description here

帮我摆脱这个问题

谢谢

3 个答案:

答案 0 :(得分:6)

如果您特别想禁用右键单击窗口标题栏上的显示系统上下文菜单,则可以处理WM_CONTEXTMENU

<system.web>
  <authentication mode="Forms">
    <forms name=".MYAPPASPXAUTH" loginUrl="~/Account/Login" timeout="2880" />
  </authentication>
</system.web>

如果您还希望避免单击表单图标以显示上下文菜单的可能性,则可以将表单的ShowIcon属性设置为const int WM_CONTEXTMENU = 0x007B; protected override void WndProc(ref Message m) { if (m.Msg == WM_CONTEXTMENU) m.Result = IntPtr.Zero; else base.WndProc(ref m); }

false

答案 1 :(得分:0)

您是否尝试过将Window Style属性设置为'None'?这应该完全删除标题栏的上下文菜单。

答案 2 :(得分:0)

您可以通过将表单的ControlBox属性设置为false来实现。

public Form1()
{
     InitializeComponent();
     this.ControlBox = false;
}

在标题栏上单击鼠标右键将不显示带有还原,最大化,最小化,关闭,移动的上下文菜单。

this.ControlBox = false;

注意:在一行(this.ControlBox = false;)上方是键,并且显示带有InitializeComponent()方法调用的Form1构造函数是示例,只是为了显示上下文。