Pri*_*rix 1 c# minimize winforms
我想覆盖最小化控制,而不是将窗口发送到任务栏,它会做我写的任何事情.
基本上这就是我想要的新的最小化和恢复效果:
private void ChangeForm(object sender, EventArgs e)
{
if (this.WindowState == FormWindowState.Minimized)
{
this.Height = 80;
iDebug.Visible = false;
mainMenu.Visible = false;
}
else
{
this.Height = 359;
iDebug.Visible = true;
mainMenu.Visible = true;
}
}
Run Code Online (Sandbox Code Playgroud)
我试图在Resize上发起一个事件但是没有成功
this.Resize += new EventHandler(ChangeForm);
Run Code Online (Sandbox Code Playgroud)
刚刚测试了这个,它可以使单击最小100像素,没有闪烁.
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;
Height -= 100;
return;
}
}
base.WndProc(ref m);
}
Run Code Online (Sandbox Code Playgroud)