返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >详解C#如何实现窗体换肤
  • 790
分享到

详解C#如何实现窗体换肤

C#实现窗体换肤C#窗体换肤C#窗体 2022-12-31 12:12:36 790人浏览 泡泡鱼
摘要

目录实践过程效果代码实践过程 效果 代码 public partial class FORM1 : Form { public Form1() {

实践过程

效果

代码

public partial class FORM1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    public static int var_bar = 1;

    private void barter(int n)
    {
        switch (n)
        {
            case 1:
            {
                this.Width = Properties.Resources.sy1_01.Width;
                this.Height = Properties.Resources.sy1_01.Height + Properties.Resources.sy1_02.Height - 5;
                panel_Title.BackgroundImage = Properties.Resources.sy1_01;
                panel_ALL.BackgroundImage = Properties.Resources.sy1_02;
                pictureBox_Min.Image = null;
                pictureBox_Min.Image = Properties.Resources.sy1_04;
                pictureBox_Max.Image = null;
                pictureBox_Max.Image = Properties.Resources.sy1_05;
                pictureBox_Close.Image = null;
                pictureBox_Close.Image = Properties.Resources.sy1_03;
                var_bar = 1;
                break;
            }
            case 2:
            {
                this.Width = Properties.Resources.sy2_01.Width;
                this.Height = Properties.Resources.sy2_01.Height + Properties.Resources.sy2_02.Height - 5;
                panel_Title.BackgroundImage = Properties.Resources.sy2_01;
                panel_ALL.BackgroundImage = Properties.Resources.sy2_02;
                pictureBox_Min.Image = null;
                pictureBox_Min.Image = Properties.Resources.sy2_04;
                pictureBox_Max.Image = null;
                pictureBox_Max.Image = Properties.Resources.sy2_05;
                pictureBox_Close.Image = null;
                pictureBox_Close.Image = Properties.Resources.sy2_03;
                var_bar = 2;
                break;
            }
            case 3:
            {
                this.Width = Properties.Resources.sy3_01.Width;
                this.Height = Properties.Resources.sy3_01.Height + Properties.Resources.sy3_02.Height - 5;
                panel_Title.BackgroundImage = Properties.Resources.sy3_01;
                panel_ALL.BackgroundImage = Properties.Resources.sy3_02;
                pictureBox_Min.Image = null;
                pictureBox_Min.Image = Properties.Resources.sy3_04;
                pictureBox_Max.Image = null;
                pictureBox_Max.Image = Properties.Resources.sy3_05;
                pictureBox_Close.Image = null;
                pictureBox_Close.Image = Properties.Resources.sy3_03;
                var_bar = 3;
                break;
            }
        }

        barterShow(n);
    }

    private void barterShow(int n)
    {
        ToolS_1.Checked = false;
        ToolS_2.Checked = false;
        ToolS_3.Checked = false;
        switch (n)
        {
            case 1:
                ToolS_1.Checked = true;
                break;
            case 2:
                ToolS_2.Checked = true;
                break;
            case 3:
                ToolS_3.Checked = true;
                break;
        }
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        barter(1);
    }

    #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 Frm_Tem="Form">要改变图片的对象</param>
    /// <param n="int">标识</param>
    /// <param ns="int">移出移入标识</param>
    public static PictureBox Tem_PictB = new 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)
                {
                    switch (var_bar)
                    {
                        case 1:
                            Tem_PictB.Image = Properties.Resources.sy1_04_1;
                            break;
                        case 2:
                            Tem_PictB.Image = Properties.Resources.sy2_04_1;
                            break;
                        case 3:
                            Tem_PictB.Image = Properties.Resources.sy3_04_1;
                            break;
                    }
                }

                if (ns == 1)
                {
                    switch (var_bar)
                    {
                        case 1:
                            Tem_PictB.Image = Properties.Resources.sy1_04;
                            break;
                        case 2:
                            Tem_PictB.Image = Properties.Resources.sy2_04;
                            break;
                        case 3:
                            Tem_PictB.Image = Properties.Resources.sy3_04;
                            break;
                    }
                }

                break;
            }
            case 1:
            {
                Tem_PictB.Image = null;
                if (ns == 0)
                {
                    switch (var_bar)
                    {
                        case 1:
                            Tem_PictB.Image = Properties.Resources.sy1_05_1;
                            break;
                        case 2:
                            Tem_PictB.Image = Properties.Resources.sy2_05_1;
                            break;
                        case 3:
                            Tem_PictB.Image = Properties.Resources.sy3_05_1;
                            break;
                    }
                }

                if (ns == 1)
                {
                    switch (var_bar)
                    {
                        case 1:
                            Tem_PictB.Image = Properties.Resources.sy1_05;
                            break;
                        case 2:
                            Tem_PictB.Image = Properties.Resources.sy2_05;
                            break;
                        case 3:
                            Tem_PictB.Image = Properties.Resources.sy3_05;
                            break;
                    }
                }

                break;
            }
            case 2:
            {
                Tem_PictB.Image = null;
                if (ns == 0)
                {
                    switch (var_bar)
                    {
                        case 1:
                            Tem_PictB.Image = Properties.Resources.sy1_03_1;
                            break;
                        case 2:
                            Tem_PictB.Image = Properties.Resources.sy2_03_1;
                            break;
                        case 3:
                            Tem_PictB.Image = Properties.Resources.sy3_03_1;
                            break;
                    }
                }

                if (ns == 1)
                {
                    switch (var_bar)
                    {
                        case 1:
                            Tem_PictB.Image = Properties.Resources.sy1_03;
                            break;
                        case 2:
                            Tem_PictB.Image = Properties.Resources.sy2_03;
                            break;
                        case 3:
                            Tem_PictB.Image = Properties.Resources.sy3_03;
                            break;
                    }
                }

                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);
    }

    private void ToolS_1_Click(object sender, EventArgs e)
    {
        barter(Convert.ToInt32(((ToolStripMenuItem) sender).Tag));
    }
}

到此这篇关于详解C#如何实现窗体换肤的文章就介绍到这了,更多相关C#窗体换肤内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 详解C#如何实现窗体换肤

本文链接: https://lsjlt.com/news/176390.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 详解C#如何实现窗体换肤
    目录实践过程效果代码实践过程 效果 代码 public partial class Form1 : Form { public Form1() { ...
    99+
    2022-12-31
    C#实现窗体换肤 C#窗体换肤 C#窗体
  • C#怎么实现窗体换肤
    这篇“C#怎么实现窗体换肤”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C#怎么实现窗体换肤”文章吧。效果代码public&...
    99+
    2023-07-04
  • C/C++ Qt TabWidget 实现多窗体创建详解
    在开发窗体应用时通常会伴随分页,TabWidget组件配合自定义Dialog组件,可实现一个复杂的多窗体分页结构,此类结构也是ERP等软件通用的窗体布局方案。 首先先来实现一个只有T...
    99+
    2024-04-02
  • C#如何实现窗体里调用
    小编给大家分享一下C#如何实现窗体里调用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!C#语言还是比较常见的东西,这里我们主要介绍C#窗体里调用,包括介绍在窗体里...
    99+
    2023-06-17
  • JS如何实现网站换肤
    这篇文章主要讲解了“JS如何实现网站换肤”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JS如何实现网站换肤”吧!先看效果左侧是待选择的图片列表2、点击对应图片自动为当前网站换背景图片3、为当...
    99+
    2023-07-02
  • js如何实现网页换肤
    这篇“js如何实现网页换肤”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“js如何实现网页换肤”文章吧。效果:代码:<!...
    99+
    2023-07-02
  • vue如何实现换肤功能
    今天小编给大家分享一下vue如何实现换肤功能的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。首先我们用vue-element-...
    99+
    2023-07-04
  • C#中如何实现Setting保存窗体
    这篇文章将为大家详细讲解有关C#中如何实现Setting保存窗体,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。C# Setting步骤一:打开项目属性窗口,切换到设置(Settings)标签,如下图添加属...
    99+
    2023-06-18
  • js+css如何实现换肤效果
    本篇内容介绍了“js+css如何实现换肤效果”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!效果图如下:需求:点击对应小圆点,下面内容颜色跟着...
    99+
    2023-07-02
  • C/C++ Qt TabWidget如何实现多窗体创建
    这篇文章主要为大家展示了“C/C++ Qt TabWidget如何实现多窗体创建”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“C/C++ Qt TabWi...
    99+
    2023-06-21
  • js如何实现网页换肤功能
    小编给大家分享一下js如何实现网页换肤功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!html<!DOCTYPE&nbs...
    99+
    2024-04-02
  • C#如何实现在窗体上的统计图
    小编给大家分享一下C#如何实现在窗体上的统计图,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体内容如下忽然要用到C#来制作统计图,起初不太清除怎么弄,看了一些代...
    99+
    2023-06-29
  • 基于C#如何实现磁性吸附窗体
    这篇文章主要介绍了基于C#如何实现磁性吸附窗体的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇基于C#如何实现磁性吸附窗体文章都会有所收获,下面我们一起来看看吧。效果代码public partial&n...
    99+
    2023-07-04
  • 如何用php程序实现网页换肤
    本文操作环境:windows10系统、php 7、thinkpad t480电脑。使用php实现网页换肤效果的步骤及代码如下:准备几张你喜欢的皮肤图片,分别将其命名为01.jpg、02.jpg、03.jpg。创建目录images,将所有皮肤...
    99+
    2022-04-08
    php 网页
  • vue-element如何实现动态换肤存储
    目录需要实现的效果原理总结需要实现的效果 选择颜色块或者颜色选择器切换网站主题色,选择主题后保存到本地,下次打开页面是缓存的主题色 原理 根据ElementUI官网的自定义主...
    99+
    2023-05-17
    vue element element换肤存储 动态换肤存储
  • C++集体数据交换如何实现
    本文小编为大家详细介绍“C++集体数据交换如何实现”,内容详细,步骤清晰,细节处理妥当,希望这篇“C++集体数据交换如何实现”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、说明到目前为止介绍的功能共享一对一的关...
    99+
    2023-07-04
  • VB.NET如何实现特殊窗体
    这篇文章主要介绍VB.NET如何实现特殊窗体,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!VB.NET特殊窗体1 、轻松制作透明窗体VB.NET可以轻松制作出任一透明度的窗体:我们只要在窗体的“属性”窗口中,将 Op...
    99+
    2023-06-17
  • VB.NET如何实现窗体传值
    这篇文章给大家分享的是有关VB.NET如何实现窗体传值的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。VB.NET是由微软公司开发的一款专门面向对象的编程语言。可以帮助开发人员创造一个稳固性极强的开发环境,帮助编程...
    99+
    2023-06-17
  • VB.NET如何实现窗体操作
    这篇文章将为大家详细讲解有关VB.NET如何实现窗体操作,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、如何拖动没有边框的VB.NET窗体?这个功能在VB6中,需要借助于API函数才能实现。而在VB.N...
    99+
    2023-06-17
  • jQuery中如何基于cookie实现换肤功能
    这篇文章将为大家详细讲解有关jQuery中如何基于cookie实现换肤功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体如下:换肤,在你使用QQ、浏览器、酷狗等软件时...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作