如何从表单中删除最大化按钮?我已经禁用它但它仍然出现,它只是不起作用。我想要一个只有关闭和最小化按钮的表单。这是一个Windows窗体应用程序,我正在使用Visual Studio 2010。
答案 0 :(得分:30)
如果不绘制自己的窗框,则无法隐藏最大化按钮。
禁用它会告诉用户他不能最大化形式,这是一个很好的用户体验。隐藏它并没有帮助,因为双击标题栏仍然会最大化窗口(如果你没有禁用最大化)。
您可以将 请参阅下面的更新。 FormBorderStyle
设置为FixedToolWindow
或SizableToolWindow
,但表单不会显示在Windows任务栏或 ALT < / kbd> + 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开始就可用。但是,正如您在屏幕截图中看到的那样 - 将文档带入一粒盐!操作系统在结果中也起着至关重要的作用。
答案 1 :(得分:7)
很简单:) 这样做
Private Sub Form1_Load(sender as Object,e As EventArgs)处理MyBase.Load
MaximizeBox = False
End Sub
现在,即使他/她双击表单的标题栏,您的客户也无法最大化您的表单。
答案 2 :(得分:4)
您可以将FormBorderStyle
的属性更改为FixedToolWindows
或SizableToolWindow
。
答案 3 :(得分:1)
只需在表单的属性窗口中将属性“MaximiseBox”设置为false即可。 最小化框也是如此。
答案 4 :(得分:0)
如果将ControlBox设置为False,则会丢失右上角的“最小化”,“最大化”和“关闭”按钮。 ControlBox是表单左上角的Context菜单。
如果将ControlBox设置为True,则必须将 最大化和最小化设置为False - 这会隐藏两个按钮。如果没有可能调用Win32,我不相信你的控件会比那更精细。
答案 5 :(得分:0)
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
答案 6 :(得分:0)
在Visual Studio中,首先选择表单,转到属性并单击最大化框,将其设置为False。它将隐藏最大化按钮。
答案 7 :(得分:0)
您还可以通过以下方式跳过默认按钮:在属性中将窗体边框样式设置为none,这将删除所有三个按钮,然后添加带有图标文件或背景图片的自定义按钮,例如,您可以从icons8中选择相关内容.com)。
答案 8 :(得分:-1)
我们可以停用两个图标,最小化和最大化。您必须将“最小化和最大化图标设置为 false 两者。如果任一图标保持为真,则表单窗口上将显示所有三个图标。