【发布时间】:2011-10-26 03:14:10
【问题描述】:
如何从表单中删除最大化按钮?我已经禁用了它,但它仍然显示,它只是不起作用。我想要一个只有关闭和最小化按钮的表单。这是一个 Windows 窗体应用程序,我使用的是 Visual Studio 2010。
【问题讨论】:
-
这是一个窗体应用程序。
标签: .net vb.net winforms visual-studio visual-studio-2010
如何从表单中删除最大化按钮?我已经禁用了它,但它仍然显示,它只是不起作用。我想要一个只有关闭和最小化按钮的表单。这是一个 Windows 窗体应用程序,我使用的是 Visual Studio 2010。
【问题讨论】:
标签: .net vb.net winforms visual-studio visual-studio-2010
您还可以通过在属性中将表单边框样式设置为 none 来跳过使用默认按钮,这会删除所有三个按钮,然后添加一个自定义按钮,例如带有图标文件或背景图像(与您从图标8中选择的密切相关的内容) .com)。
【讨论】:
在 Visual Studio 中,首先选择窗体,转到属性并单击最大化框,将其设置为 False。它将隐藏最大化按钮。
【讨论】:
如果不绘制自己的窗口框架,就不可能隐藏最大化按钮。
禁用它会告诉用户他无法最大化良好用户体验的表单。隐藏它并没有帮助,因为双击标题栏仍然会最大化窗口(如果您没有禁用最大化)。
你可以将 请参阅下面的更新。FormBorderStyle设置为FixedToolWindow或SizableToolWindow,但随后窗体将不会显示在Windows任务栏或ALT+TAB 窗口。
您可以隐藏整个 ControlBox,这也将删除 Minimize 和 Close 以及上下文菜单。
选择你的毒药!
更新(2015 年 12 月 24 日)
我决定用各种选择重新审视风景,似乎:
FormBorderStyle 设置为FixedToolWindow/SizableToolWindow 不再隐藏任务栏中的应用程序或 中的ALT+TAB 窗口Windows 7 及更高版本。 ShowInTaskbar 在这种情况下专门决定显示/隐藏效果(感谢@pinowthebird 推动我重新查看)。FormBorderStyle 设置为FixedDialog 也会隐藏最大化/最小化按钮并显示在任务栏中,尽管默认图标现在已丢失(不确定原因)。MaximizeBox = False 不会隐藏按钮,这与documentation 再次相反。它只是禁用它(并通过双击工具栏最大化功能)。MaximizeBox = False 和 MinimizeBox = False 会隐藏它们,而与 FormBorderStyle 无关。以下是一些截图:
结论:
根据您的要求,您可以选择 1、2 或 3。希望这对未来的访问者有所帮助。
免责声明:这些测试是在 VS 2015、.Net 4.6 和全新的 WinForm 应用程序中完成的。文档说这些属性自 .Net 1.1 起就可用。但是,正如您在屏幕截图中看到的那样 - 对文档持保留态度!操作系统在结果中也起着至关重要的作用。
【讨论】:
FormBorderStyle 属性不能确定窗体是否显示在 Windows 任务栏中。要更改的属性称为ShowInTaskbar。
这很简单:) 这样做
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
MaximizeBox = False
End Sub
现在,您的客户无法最大化您的表单,即使他/她双击表单的标题栏。
【讨论】:
只需在表单的属性窗口中将属性“MaximiseBox”设置为 false。 最小化框也是如此。
【讨论】:
Private Sub Form4_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Resize
If Me.WindowState = FormWindowState.Minimized Then
Me.WindowState = FormWindowState.Normal
End If
End Sub
【讨论】:
您可以将FormBorderStyle 的属性更改为FixedToolWindows 或SizableToolWindow。
【讨论】:
我们可以禁用两个图标,minimize和maximize。您必须将“最小化和最大化图标”都设置为 false。如果任一图标保持为真,则所有三个图标都将显示在表单窗口中。
【讨论】:
I want a form with only the close and minimize buttons。您的解决方案是No, you can't have that。根据此处列出的其他答案,这不是真的。
如果将 ControlBox 设置为 False,则会丢失右上角的最小化、最大化和关闭按钮。 ControlBox 是窗体左上角包含上下文菜单的对象。
如果您将 ControlBox 设置为 True,则必须将 both 最大化和最小化设置为 False - 这会隐藏两个按钮。如果没有可能 p/调用 Win32,我认为您的控件不会比这更精细。
【讨论】: