private int WM_SYSCOMMAND = 0x112;
private long SC_MAXIMIZE = 0xF030; //最大化
private long SC_MINIMIZE = 0xF020; //最小化
private const int SC_RESTORE = 0xF120; //还原
private long SC_CLOSE = 0xF060;
private int WM_SETREDRAW = 0x000B; //窗口重绘
protected override void WndProc(ref Message m)
{
if (m.Msg == WM_SYSCOMMAND)
{
if (m.WParam.ToInt64() == SC_MAXIMIZE)
{
IsFromMax = true;
this.Width = SystemInformation.WorkingArea.Width;
this.Height = SystemInformation.WorkingArea.Height;
this.Location = new Point(0, 0);
// m.WParam = (IntPtr)SC_RESTORE;
// this.WindowState = FormWindowState.Maximized;
// return;
}
if (m.WParam.ToInt64() == SC_RESTORE) //还原
{
this.Width = Convert.ToInt32(SystemInformation.WorkingArea.Width * 0.9);
this.Height = Convert.ToInt32(SystemInformation.WorkingArea.Height * 0.9);
this.Location = new Point(0, 0);
}
//if (m.WParam.ToInt64() == SC_MINIMIZE)
//{
// //MessageBox.Show("MINIMIZE ");
// return;
//}
//if (m.WParam.ToInt64() == SC_CLOSE)
//{
// //MessageBox.Show("CLOSE ");
// return;
//}
}
base.WndProc(ref m);
}
.