您的位置:首页 > 编程语言 > C#

C# 窗体的最大化、最小化、关闭按钮的自定义

2017-03-05 20:19 701 查看
1 创建一个窗体项目(本项目是在VS2015中进行创建)

2 将窗体的FormBorderStyle属性设置为None,设置后窗体的标题栏将消失不显示

3 添加2个panel空间,如下图布置,上面一个panel作为标题栏,下面一个panel作为窗体内容显示区

4 添加3个pictureBox空间,作为最大化、最小化、关闭按钮的容器

5 准备最大化、最小化、关闭按钮的图片,如果需要边框也需要提前准备

6 向项目中添加资源文件
右击-->添加-->新项目-->资源文件-->添加资源-->图片
或者可以通过向空间插入的图片的方法添加

7 编写代码

7.1 设置窗体加载时加载图片,找到窗体的加载(LOAD)事件

7.2 将最大化、最小化、关闭按钮的Click事件都设置为pictureBox_Click

7.3 添加代码

private void Form1_Load(object sender, EventArgs e)

{

//设置大小

this.Width = Resource1.登录界面标题.Width;

this.Height = Resource1.登录界面下面.Height + Resource1.登录界面标题.Height;

pictureBox_Min.Width = Resource1.最小化按钮.Width;

pictureBox_Min.Height = Resource1.最小化按钮.Height;

pictureBox_Max.Width = Resource1.最大化按钮.Width;

pictureBox_Max.Height = Resource1.最大化按钮.Height;

pictureBox_Close.Width = Resource1.关闭按钮.Width;

pictureBox_Close.Height = Resource1.关闭按钮.Height;

//设置图

panel_Title.BackgroundImage = Resource1.登录界面标题;

panel_ALL.BackgroundImage = Resource1.登录界面下面;

pictureBox_Min.Image = null;

pictureBox_Min.Image = Resource1.最小化按钮;

pictureBox_Max.Image = null;

pictureBox_Max.Image = Resource1.最大化按钮;

pictureBox_Close.Image = null;

pictureBox_Close.Image = Resource1.关闭按钮;

//设置最大化、最小化、关闭按钮的Tag值,按照这种方法一定要设置,不然将会报错

pictureBox_Min.Tag = 0;

pictureBox_Max.Tag = 1;

pictureBox_Close.Tag = 2

}

7.4 鼠标点击事件的获取

/// <summary>

/// 鼠标对最大化、最小化、关闭按钮的点击事件

/// </summary>

/// <param name="frm_Tem"></param>

/// <param name="n"></param>

public void PicClickMenus(Form frm_Tem, int n)

{

switch (n)

{

case 0:

frm_Tem.WindowState = FormWindowState.Minimized;

break;

case 1:

{

if (frm_Tem.WindowState == FormWindowState.Maximized)

{

frm_Tem.WindowState = FormWindowState.Normal;

}

else

{

frm_Tem.WindowState = FormWindowState.Maximized;

}

break;

}

case 2:

frm_Tem.Close();

break;

}

}

7.5 鼠标点击事件

//最大化、最小化、关闭按钮的点击事件

private void pictureBox_Click(object sender, EventArgs e)

{

PicClickMenus(this, Convert.ToInt16(((PictureBox)sender).Tag.ToString()));

Console.WriteLine(Convert.ToInt16(((PictureBox)sender).Tag.ToString()));

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐