【问题标题】:How can i Remove Maximize,Minimize and Close icon in MDI Menustrip如何删除 MDI 菜单条中的最大化、最小化和关闭图标
【发布时间】:2013-06-22 16:05:55
【问题描述】:

iam 使用 C#.Net Windows 应用程序。在我的项目中,MDI 将使用不同的模块。 现在问题出在哪里,我可以打开一个新表单,这意味着他们将在 MDI 和 Menustrip 中显示最大化、最小化和关闭图标。见下图...

如何从 MenuStrip 中删除子窗体图标(最大化、最小化和关闭)

在此先感谢...

【问题讨论】:

  • 不要使用 MDI。将您的表单更改为 TopLevel = false 并将它们用作 UserControls。
  • 你为什么想要这个功能?我认为这是设计使然,MdiClient 不支持该功能。
  • MDI 窗口模型的核心是用户可以在窗口之间切换、调整大小和最小化它们。如果您删除这些控件,那么他就不能再这样做了。因此,不再使用 MDI 是没有意义的。一个普通的 UserControl 也可以。

标签: c# .net winforms c#-4.0 c#-3.0


【解决方案1】:

在winforms中,这些按钮所在的区域被称为ControlBox,如果你不希望它们被显示,你应该将表单的ControlBox属性设置为false

childForm.ControlBox = false;

但正如 cmets 中所指出的,您可以将表单用作 UserControls,只需将其 TopLevel 属性设置为 false

Form childForm = new Form()
childForm.TopLevel = false;
childForm.Parent = MainForm;
childForm.Show()

这样做您可以完成与 MDI 表单相同的最终结果

【讨论】:

  • 对于能够删除表单也很有用(假设您在考虑 MDI 时想要显示多个): foreach (Control cntrl in panellContols.Controls) panellContols.Controls.Remove(cntrl) ;
【解决方案2】:

我相信这可以解决您搜索的问题

首先你应该设置所有属性

formborderstyle = None
ControlBox = false
MaximizeBox = false
MinimizeBox = false
showicon = false

并且不要设置 Windowsstate = 最大化

其次当你从这个表单创建对象时

form1 form= new Student();
form.MdiParent = this;
form.Dock = DockStyle.Fill;
form.Show();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-10
    • 2012-01-10
    • 2015-05-02
    • 1970-01-01
    • 2017-05-27
    • 2011-02-09
    • 1970-01-01
    相关资源
    最近更新 更多