我有一个禁用了 minimizeMaximizeClose 按钮的 winform,但是如果有人在任务栏中按下它,它仍然会最小化。我想防止这种情况发生。
我怎样才能做到这一点?
最佳答案
覆盖表单上的 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);
}
我修改了Rob在此 SO 线程中找到的代码:
How to disable the minimize button in C#?
效果很好:没有闪烁,当用户尝试最小化时什么也没有。
关于c# - 取消 WinForm 最小化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3737053/