设为首页 收藏本站
查看: 1021|回复: 0

[经验分享] [C#自学视频]认识windows窗体

[复制链接]

尚未签到

发表于 2017-6-29 08:17:56 | 显示全部楼层 |阅读模式
7.4.1  根据桌面大小调节窗体大小



namespace SetFormSizeByDeskSize
{
public partial class Frm_Main : Form
{
public Frm_Main()
{
InitializeComponent();
}
private void Frm_Main_Load(object sender, EventArgs e)
{
int DeskWidth = Screen.PrimaryScreen.WorkingArea.Width;//获取桌面宽度
int DeskHeight = Screen.PrimaryScreen.WorkingArea.Height;//获取桌面高度
this.Width = Convert.ToInt32(DeskWidth * 0.8);//设置窗体宽度
this.Height = Convert.ToInt32(DeskHeight * 0.8);//设置窗体高度
        }
}
}
7.4.2 自定义最大化、最小化和关闭按钮



using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace ControlFormStatus
{
public partial class Frm_Main : Form
{
public Frm_Main()
{
InitializeComponent();
}
private void Frm_Main_Load(object sender, EventArgs e)
{
this.Width = Properties.Resources.登录界面标题.Width;//设置体的宽度
this.Height = Properties.Resources.登录界面标题.Height + Properties.Resources.登录界面下面.Height;//设置窗体的高度
panel_Title.BackgroundImage = Properties.Resources.登录界面标题;//显示窗体标题栏的图片
panel_ALL.BackgroundImage = Properties.Resources.登录界面下面;//显示窗体标题栏下同的图片
pictureBox_Min.Image = null;//清空PictuteBox控件
pictureBox_Min.Image = Properties.Resources.最小化按钮;//显示最小化按钮的图片
pictureBox_Max.Image = null; //清空PictuteBox控件
pictureBox_Max.Image = Properties.Resources.最大化按钮;//显示最大化按钮的图片
pictureBox_Close.Image = null;//清空PictuteBox控件
pictureBox_Close.Image = Properties.Resources.关闭按钮;//显示关闭按钮的图片
        }
#region  设置窗体的最大化、最小化和关闭按钮的单击事件
/// <summary>
/// 设置窗体的最大化、最小化和关闭按钮的单击事件
/// </summary>
/// <param Frm_Tem="Form">窗体</param>
/// <param n="int">标识</param>
public void FrmClickMeans(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;
}
}
#endregion
#region  控制图片的切换状态
/// <summary>
/// 控制图片的切换状态
/// </summary>
/// <param sender =" object ">要改变图片的对象</param>
/// <param n="int">标识</param>
/// <param ns="int">移出移入标识</param>
public static PictureBox Tem_PictB = new PictureBox();//实例化PictureBox控件
public void ImageSwitch(object sender, int n, int ns)
{
Tem_PictB = (PictureBox)sender;
switch (n)//获取标识
            {
case 0://当前为最小化按钮
                    {
Tem_PictB.Image = null;//清空图片
if (ns == 0)//鼠标移入
Tem_PictB.Image = Properties.Resources.最小化变色;
if (ns == 1)//鼠标移出
Tem_PictB.Image = Properties.Resources.最小化按钮;
break;
}
case 1://最大化按钮
                    {
Tem_PictB.Image = null;
if (ns == 0)
Tem_PictB.Image = Properties.Resources.最大化变色;
if (ns == 1)
Tem_PictB.Image = Properties.Resources.最大化按钮;
break;
}
case 2://关闭按钮
                    {
Tem_PictB.Image = null;
if (ns == 0)
Tem_PictB.Image = Properties.Resources.关闭变色;
if (ns == 1)
Tem_PictB.Image = Properties.Resources.关闭按钮;
break;
}
}
}
#endregion
private void pictureBox_Close_Click(object sender, EventArgs e)//单击事件
        {
FrmClickMeans(this, Convert.ToInt16(((PictureBox)sender).Tag.ToString()));//设置鼠标单击时按钮的图片
        }
private void pictureBox_Close_MouseEnter(object sender, EventArgs e)//鼠标移入事件
        {
ImageSwitch(sender, Convert.ToInt16(((PictureBox)sender).Tag.ToString()), 0);//设置鼠标移入后按钮的图片
        }
private void pictureBox_Close_MouseLeave(object sender, EventArgs e)//鼠标移出事件
        {
ImageSwitch(sender, Convert.ToInt16(((PictureBox)sender).Tag.ToString()), 1);//设置鼠标移出后按钮的图片
        }
}
}
7.4.3  窗体换肤程序



using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WinCusSkin
{
public partial class Frm_Main  : Form
{
String strImagesPath = Application.StartupPath.Substring(0, Application.StartupPath.Substring(0, Application.StartupPath.LastIndexOf("\\")).LastIndexOf("\\"));
int top, left, hei, wid;
bool bol = false, bo = false, bolTop = false, bolLeft = false, bolRight = false, bolBottom = false, bolLeftCornu = false, bolRightCornu = false;
int x = 0, y = 0;
public Frm_Main()
{
InitializeComponent();
}
//关闭事件。
private void picClose_Click(object sender, System.EventArgs e)
{
Application.Exit();
}
//最大化事件。  
private void picMaximize_Click(object sender, System.EventArgs e)
{
if (!bol)
{
top = this.Top;
left = this.Left;
hei = this.Height;
wid = this.Width;
this.Top = 0;
this.Left = 0;
int hg = SystemInformation.MaxWindowTrackSize.Height;
int wh = SystemInformation.MaxWindowTrackSize.Width;
this.Height = hg;
this.Width = wh;
bol = true;
if (menItemSkin1.Checked)
this.picMaximize.Image = Image.FromFile(strImagesPath + @"\images\purple\max.png");
if (menItemSkin2.Checked)
this.picMaximize.Image = Image.FromFile(strImagesPath + @"\images\blue\max.png");
if (menItemSkin3.Checked)
this.picMaximize.Image = Image.FromFile(strImagesPath + @"\images\green\max.png");
}
else
{
this.Top = top;
this.Left = left;
this.Height = hei;
this.Width = wid;
bol = false;
if (menItemSkin1.Checked)
this.picMaximize.Image = Image.FromFile(strImagesPath + @"\images\purple\max_Normal.png");
if (menItemSkin2.Checked)
this.picMaximize.Image = Image.FromFile(strImagesPath + @"\images\blue\max_Normal.png");
if (menItemSkin3.Checked)
this.picMaximize.Image = Image.FromFile(strImagesPath + @"\images\green\max_Normal.png");
}
}
//最小化事件。
private void picMinimize_Click(object sender, System.EventArgs e)
{
top = this.Top;
left = this.Left;
hei = this.Height;
wid = this.Width;
this.Height = 0;
this.Width = 0;
bo = true;
}
//窗口再次被激活时。
private void FormCusSkin_Activated(object sender, System.EventArgs e)
{
if (bo)
{
this.Top = top;
this.Left = left;
this.Height = hei;
this.Width = wid;
bo = false;
}
}
//选择关闭。
private void mItemColse_Click(object sender, System.EventArgs e)
{
Application.Exit();
}
//上边框鼠标按下。
private void panel_Top_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
x = e.X;
y = e.Y;
this.bolTop = true;
}
//上边框鼠标移动。
private void panel_Top_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
{
if (bolTop)
{
this.Top += e.Y - y;
this.Left += e.X - x;
}
}
//上边框鼠标释放。
private void panel_Top_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
{
this.bolTop = false;
}
//左边框鼠标按下。
private void panel_Left_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
x = e.X;
this.bolLeft = true;
}
//左边框鼠标移动。
private void panel_Left_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
{
if (bolLeft)
{
this.Width += x - e.X;
this.Left += e.X - x;
}
}
//左边框鼠标离开。
private void panel_Left_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
{
this.bolLeft = false;
}
//右边框鼠标按下。
private void panel_Right_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
x = e.X;
this.bolRight = true;
}
//右边框鼠标移动。
private void panel_Right_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
{
if (bolRight)
{
this.Width += e.X - x;
}
}
//右边框鼠标离开。
private void panel_Right_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
{
this.bolRight = false;
}
//下边框鼠标按下。
private void panel_Bottom_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
y = e.Y;
this.bolBottom = true;
}
//下边框鼠标移动。
private void panel_Bottom_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
{
if (bolBottom)
{
this.Height += e.Y - y;
}
}
//下边框鼠标离开。
private void panel_Bottom_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
{
this.bolBottom = false;
}
//左下角鼠标按下。
private void panelLeftCornu_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
x = e.X;
y = e.Y;
this.bolLeftCornu = true;
}
//左下角鼠标移动。
private void panelLeftCornu_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
{
if (bolLeftCornu)
{
this.Width += x - e.X;
this.Left += e.X - x;
this.Height += e.Y - y;
}
}
//左下角鼠标离开。
private void panelLeftCornu_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
{
x = e.X;
y = e.Y;
this.bolLeftCornu = false;
}
//右下角鼠标按下。
private void panelRightCornu_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
this.bolRightCornu = true;
}
//右下角鼠标移动。
private void panelRightCornu_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
{
if (bolRightCornu)
{
this.Width += e.X - x;
this.Height += e.Y - y;
}
}
//右下角鼠标离开。
private void panelRightCornu_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
{
this.bolRightCornu = false;
}
private void FormCusSkin_Load(object sender, EventArgs e)
{
menItemSkin2_Click(sender, e);//默认蓝色经典
        }
private void menItemSkin1_Click(object sender, EventArgs e)
{
this.panel_Top.BackgroundImage = Image.FromFile(strImagesPath + @"\images\purple\top.png");
this.panel_Left.BackgroundImage = Image.FromFile(strImagesPath + @"\images\purple\left.png");
this.panel_Right.BackgroundImage = Image.FromFile(strImagesPath + @"\images\purple\right.png");
this.panel_Bottom.BackgroundImage = Image.FromFile(strImagesPath + @"\images\purple\bottom.png");
this.picMinimize.Image = Image.FromFile(strImagesPath + @"\images\purple\min.png");
if (bol == true)
{
this.picMaximize.Image = Image.FromFile(strImagesPath + @"\images\purple\max.png");
}
else
{
this.picMaximize.Image = Image.FromFile(strImagesPath + @"\images\purple\max_normal.png");
}
this.picClose.Image = Image.FromFile(strImagesPath + @"\images\purple\close.png");
this.menItemSkin1.Checked = true;
this.menItemSkin2.Checked = false;
this.menItemSkin3.Checked = false;
this.menuStrip1.BackgroundImage = Image.FromFile(strImagesPath + @"\images\purple\menu.gif");
this.BackgroundImage = Image.FromFile(strImagesPath + @"\images\purple\background.gif");
}
private void menItemSkin2_Click(object sender, EventArgs e)
{
this.panel_Top.BackgroundImage = Image.FromFile(strImagesPath + @"\images\blue\top.png");
this.panel_Left.BackgroundImage = Image.FromFile(strImagesPath + @"\images\blue\left.png");
this.panel_Right.BackgroundImage = Image.FromFile(strImagesPath + @"\images\blue\right.png");
this.panel_Bottom.BackgroundImage = Image.FromFile(strImagesPath + @"\images\blue\bottom.png");
this.picMinimize.Image = Image.FromFile(strImagesPath + @"\images\blue\min.png");
if (bol == true)
{
this.picMaximize.Image = Image.FromFile(strImagesPath + @"\images\blue\max.png");
}
else
{
this.picMaximize.Image = Image.FromFile(strImagesPath + @"\images\blue\max_normal.png");
}
this.picClose.Image = Image.FromFile(strImagesPath + @"\images\blue\close.png");
this.menItemSkin1.Checked = false;
this.menItemSkin2.Checked = true;
this.menItemSkin3.Checked = false;
this.menuStrip1.BackgroundImage = Image.FromFile(strImagesPath + @"\images\blue\menu.gif");
this.BackgroundImage = Image.FromFile(strImagesPath + @"\images\blue\background.gif");
}
private void menItemSkin3_Click(object sender, EventArgs e)
{
this.panel_Top.BackgroundImage = Image.FromFile(strImagesPath + @"\images\green\top.png");
this.panel_Left.BackgroundImage = Image.FromFile(strImagesPath + @"\images\green\left.png");
this.panel_Right.BackgroundImage = Image.FromFile(strImagesPath + @"\images\green\right.png");
this.panel_Bottom.BackgroundImage = Image.FromFile(strImagesPath + @"\images\green\bottom.png");
this.picMinimize.Image = Image.FromFile(strImagesPath + @"\images\green\min.png");
if (bol == true)
{
this.picMaximize.Image = Image.FromFile(strImagesPath + @"\images\green\max.png");
}
else
{
this.picMaximize.Image = Image.FromFile(strImagesPath + @"\images\green\max_normal.png");
}
this.picClose.Image = Image.FromFile(strImagesPath + @"\images\green\close.png");
this.menItemSkin1.Checked = false;
this.menItemSkin2.Checked = false;
this.menItemSkin3.Checked = true;
this.menuStrip1.BackgroundImage = Image.FromFile(strImagesPath + @"\images\green\menu.gif");
this.BackgroundImage = Image.FromFile(strImagesPath + @"\images\green\background.gif");
}
private void 退出ToolStripMenuItem_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void panel_Top_DoubleClick(object sender, EventArgs e)
{
picMaximize_Click(sender, e);
}
}
}

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-389183-1-1.html 上篇帖子: Windows无法完成安装,若要在此计算机上安装Windows,请中心启动安装。 下篇帖子: windows 2016 dockerfile 以及简单使用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表