4
A
回答
3
你也许可以赶上他们在SizeChanged事件改变并检查WindowState,如果它被设置为Minimized然后将其设置回Normal。不是最优雅的解决方案,但应该工作。
例如。
private void myForm_SizeChanged(object sender, System.EventArgs e)
{
if (myForm.WindowState == FormWindowState.Minimized)
{
myForm.WindowState = FormWindowState.Normal;
}
}
0
如果它是适合你的,只是从任务栏隐藏:ShowInTaskbar=false
15
覆盖的WndProc表单上,聆听最小化的消息和取消。
将此代码添加到您的窗体:
private const int WM_SYSCOMMAND = 0x0112;
private const int SC_MINIMIZE = 0xf020;
protected override void WndProc(ref Message m)
{
if (m.Msg == WM_SYSCOMMAND)
{
if (m.WParam.ToInt32() == SC_MINIMIZE)
{
m.Result = IntPtr.Zero;
return;
}
}
base.WndProc(ref m);
}
我修改这个SO线程发现Rob的代码:
How to disable the minimize button in C#?
伟大工程:无闪烁,什么都没有,当用户试图最小化。
+0
+1,这是正确的做法 – 2010-09-17 21:00:07
+0
它应该是答案。 – 2017-01-14 10:58:29
0
你可以简单地从窗口中删除最小化按钮:
添加以下代码到私人无效的InitializeComponent()Form类的方法:
this.MinimizeBox = false;
相关问题
- 1. “x”最小化WinForm,ContextMenu关闭WinForm?
- 2. 取消最大化表格的大小
- 3. 如何取消最小化min.css文件?
- 4. 在WinForm上禁用最小化和最大化?
- 5. 如何从任务栏最小化和最大化winform?
- 6. 完全最大化C#WinForm
- 7. 最小化DirectShow内存消耗
- 8. 绘图窗口消失时最小化
- 9. C#消息框最小化问题
- 10. 在Winform上托管VisualStudio并将其最小化开始
- 11. Winform应用程序在最小化时不更新
- 12. 在Winform启动后隐藏或最小化PowerShell提示
- 13. 取消最小化Applescript的应用程序
- 14. 以编程方式取消最小化表单
- 15. 获取winform大小鼠标后达到最终大小后调整大小
- 16. 最小化/最大化div
- 17. WinForm最大化托盘还原?
- 18. 如何在tig中取消最大化?
- 19. 消除最小和最大
- 20. 在Internet Explorer中获取最小化和最大化事件
- 21. 获取最大化最小化窗口的窗口位置
- 22. 对象在调整大小和窗口最小化时消失
- 23. HTML 5最大和最小错误消息本地化
- 24. Wpf主窗口获取最小化
- 25. 获取winform控件的设计大小
- 26. winform汉化
- 27. 最小化ExtJS的大小
- 28. 最大化最小差异
- 29. 最小化,最大化exe的
- 30. 如何最大化/最小化iFrame?
这也应该工作,但是由于窗口最小化后触发事件,可能会出现闪烁效果。 – 2010-09-17 16:23:01
@Adrian:是的,我只是在想,这取决于表单上的内容以及需要进行多少次重绘。 – w69rdy 2010-09-17 16:24:47