C# 窗体最大化,最小化,还原 的代码

我把窗体边框样式去掉了,我要自己写窗体最大化,最小化,还原。。这些代码。知道的发下,写下注释,谢谢。

设置为none后窗体已经没有了标题栏,窗体的移动、最大化、最小化、关闭这些需要自己写代码来完成。

窗体的移动:

bool formMove = false;//窗体是否移动
Point formPoint;//记录窗体的位置

private void Form4_MouseDown(object sender, MouseEventArgs e)//鼠标按下
{
formPoint = new Point();
int xOffset;
int yOffset;
if (e.Button == MouseButtons.Left)
{
xOffset = -e.X - SystemInformation.FrameBorderSize.Width;
yOffset = -e.Y - SystemInformation.CaptionHeight - SystemInformation.FrameBorderSize.Height;
formPoint = new Point(xOffset, yOffset);
formMove = true;//开始移动
}
}

private void Form4_MouseMove(object sender, MouseEventArgs e)//鼠标移动
{
if (formMove == true)
{
Point mousePos = Control.MousePosition;
mousePos.Offset(formPoint.X, formPoint.Y);
Location = mousePos;
}
}

private void Form4_MouseUp(object sender, MouseEventArgs e)//鼠标松开
{
if (e.Button == MouseButtons.Left)//按下的是鼠标左键
{
formMove = false;//停止移动
}
}

窗体的最大化、最小化和关闭:

需要自己拖三个picturebox控件到窗体的右上角,最大化、最小化和关闭的图标就自己去找了。添加picturebox的单击事件。如果要实现一些特效可以加入picturebox的MouseEnter、MouseLeave事件来更换图片。

private void pictureBox1_Click(object sender, EventArgs e)
{
this.WindowState=FormWindowState.Minimized;//最小化
}

private void pictureBox2_Click(object sender, EventArgs e)
{

WindowState = FormWindowState.Maximized;//最大化

}

private void pictureBox3_Click(object sender, EventArgs e)
{
this.Close();
}

参考资料:http://hi.baidu.com/yyq745201/blog/item/5dd987ee0e78053cacafd595.html
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-01-14
this.WindowState = FormWindowState.Maximized;
FormWindowState为Enum类型
第2个回答  2010-01-14
最大化: this.WindowState = FormWindowState.Maximized;
最小化: this.WindowState = FormWindowState.Minimized;
还原: this.WindowState = FormWindowState.Normal;
相似回答