gpt4 book ai didi

c# - 当 MDI 子项最大化时删除 MDI 容器窗体的默认 MDI 菜单

转载 作者:太空狗 更新时间:2023-10-30 00:36:44 25 4
gpt4 key购买 nike

我正在开发一个 .NET C# 应用程序,它有一个主窗体,它是 MDI 容器。当用户最大化 MDI 子项时,Windows 会在容器窗体的标题栏下方绘制一个控制条,其中包含子项的图标和右侧的系统按钮。基本上,我需要的是隐藏此 strip 并使用自定义控件来提供相同的功能。

有什么方法可以阻止 Windows 绘制这个 MDI strip 吗?

最佳答案

实际上,我找到了一种简单而有趣的方法来从我的表单中删除这个东西,方法是为表单的 MainMenuStrip 属性分配一个虚拟 MenuStrip 控件(不将其放入表单的 Controls 集合中):

private void OnForm_Load(object sender, EventArgs e)
{
this.MainMenuStrip = new MenuStrip();
}

这可以防止默认的 MDI 标题被绘制,因为窗体将其功能委托(delegate)给它的默认菜单条(如果有的话)。由于 MenuStrip 控件不在 Form 的 Controls 集合中,因此它也不可见,因此它仅用作虚拟菜单,用于在子项最大化时隐藏讨厌的 MDI 菜单。

关于c# - 当 MDI 子项最大化时删除 MDI 容器窗体的默认 MDI 菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/980053/

25 4 0