`
jilong-liang
  • 浏览: 482774 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类

C#的皮肤skins详细使用图解

    博客分类:
  • C #
阅读更多

 

 

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;

using System.IO;

using log4net;

using Utility;

 

namespace WindowsFormsApplication

{

    ///<summary>

///<Author>JILONGLIANG</Author>

///<Date>2012/09/14</Date>

///<Description>处理皮肤Form窗体</Description>

///</summary>

    public partial class MainFrm : Form

    {

        string app_Path=AccessDirFileHelper.GetInstance().GetWindowsApplicationStartupPath();

        private int ComputerTime;//记录本机运行时间

        public MainFrm()

        {

            InitializeComponent();

        }

        /// <summary>

        /// 把设置IsMdiContainer = true;

        /// </summary>

        /// <param name="sender"></param>

        /// <param name="e"></param>

        private void TSMI_Login_Click(object sender, EventArgs e)

        {

           // LoginFrm loginFrm = new LoginFrm();

           // loginFrm.MdiParent = this;

           // loginFrm.Show();

        }

        /// <summary>

        ///

        /// </summary>

        /// <param name="sender"></param>

        /// <param name="e"></param>

        private void TSMI_TestDataBase_Click(object sender, EventArgs e)

        {

            //ConnectionSetupForm connectionSetupForm = new ConnectionSetupForm();

            //connectionSetupForm.MdiParent = this;

            //connectionSetupForm.Show();

        }

        /// <summary>

        /// 退出

        /// </summary>

        /// <param name="sender"></param>

        /// <param name="e"></param>

        private void TSMI_Logout_Click(object sender, EventArgs e)

        {

            Application.Exit();

        }

        /// <summary>

        /// 重启

        /// </summary>

        /// <param name="sender"></param>

        /// <param name="e"></param>

        private void TSMI_Restart_Click(object sender, EventArgs e)

        {

            Application.Restart();

        }

        /// <summary>

        /// 加载

        /// </summary>

        /// <param name="sender"></param>

        /// <param name="e"></param>

        private void MainFrm_Load(object sender, EventArgs e)

        {

           AddChildMenuStripForWindowsStyle();

            //ILog log = log4net.LogManager.GetLogger(this.GetType());

            //log.Debug(e.ToString());

           ComputerTime = Environment.TickCount;//获取本机运行时间

        }

 

        /// <summary>

        /// 为风格菜单项添加子菜单

        /// </summary>

        private void AddChildMenuStripForWindowsStyle()

        {

            string curExePath = app_Path;

            string dir = curExePath + "\\Images";

            DirectoryInfo di = new DirectoryInfo(dir);

            int count = 1;

            //先清空下拉框

            this.TSMI_WindowSytle.DropDownItems.Clear();

            foreach (FileInfo fi in di.GetFiles())

            {

                if (fi.FullName.LastIndexOf(".gif") == fi.FullName.Length - 4)

                {

                    ToolStripMenuItem newTSMI = new ToolStripMenuItem("皮肤" + (count++));

                    newTSMI.Tag = fi.FullName;//保存图片

                    //订阅此菜单的鼠标悬浮事件

                    newTSMI.MouseHover += new EventHandler(TSMI_WindowSytle_MouseHover);

                    //订阅此菜单的鼠标离开事件

                    newTSMI.MouseLeave += new EventHandler(TSMI_WindowSytle_MouseLeave);

                    //订阅此菜单的鼠标点击事件

                    newTSMI.Click += new EventHandler(TSMI_WindowSytle_Click);

                    this.TSMI_WindowSytle.DropDownItems.Add(newTSMI);

                }

            }

        }

        /// <summary>

        /// 菜单的鼠标悬浮事件

        /// </summary>

        /// <param name="sender"></param>

        /// <param name="e"></param>

        private void TSMI_WindowSytle_MouseHover(object sender, EventArgs e)

        {

            try

            {

                string picturePath = ((ToolStripMenuItem)sender).Tag.ToString();

                this.pictureBoxImages.BackgroundImage = Image.FromFile(picturePath);

                this.pictureBoxImages.BackgroundImageLayout = ImageLayout.Stretch;

                this.pictureBoxImages.Visible = true;

                Point point;

                if (MousePosition.Y >= 300)

                {

                    point = new Point(MousePosition.X + 62, 200);//调整位置

                }

                else

                {

                    point = new Point(MousePosition.X + 62, MousePosition.Y - 10);

                }

                this.pictureBoxImages.Location = point;

            }

            catch (Exception)

            {

                throw;

            }

        }

 

        /// <summary>

        /// 鼠标离开事件

        /// </summary>

        /// <param name="sender"></param>

        /// <param name="e"></param>

        private void TSMI_WindowSytle_MouseLeave(object sender, EventArgs e)

        {

            this.pictureBoxImages.Visible = false;

        }

        /// <summary>

        /// 鼠标点击事件

        /// </summary>

        /// <param name="sender"></param>

        /// <param name="e"></param>

        private void TSMI_WindowSytle_Click(object sender, EventArgs e)

        {

            try

            {

                string picturePath = ((ToolStripMenuItem)sender).Tag.ToString();

                string skinFillPath = picturePath.Substring(0, picturePath.Length - 3) + "ssk";

                this.skinEngine1.SkinFile = skinFillPath;

                this.Refresh();

            }

            catch (Exception)

            {

                throw;

            }

        }

        /// <summary>

        /// 当前系统应用时间

        /// </summary>

        /// <param name="sender"></param>

        /// <param name="e"></param>

        private void ShowApplicationTime_Tick(object sender, EventArgs e)

        {

            long CurTickValue = Environment.TickCount;

            long Difference = CurTickValue - ComputerTime;

 

            long ComputerHours, ComputerMinutes, ComputerSeconds;

            long ApplicationHours, ApplicationMinuters, ApplicationSecons;

 

            ComputerHours = (CurTickValue / (3600 * 999)) % 24;

            ComputerMinutes = (CurTickValue / (60 * 999)) % 60;

            ComputerSeconds = (CurTickValue / 999) % 60;

 

            ApplicationHours = (Difference / (3600 * 999)) % 24;//小时

            ApplicationMinuters = (Difference / (60 * 999)) % 60;//分钟

            ApplicationSecons = (Difference / 999) % 60;//

            this.ComputerSystemTime.Text = string.Format("本计算机已运行了{0}小时{1}{2}",

                ComputerHours.ToString(), ComputerMinutes.ToString(), ComputerSeconds.ToString());

            this.ApplicationFrmSystemTime.Text = string.Format("本应用程序已运行了{0}小时{1}{2}",

                ApplicationHours.ToString(), ApplicationMinuters.ToString(), ApplicationSecons.ToString());

        }

        /// <summary>

        /// 加载窗体的时候触发时间.

        /// </summary>

        /// <param name="sender"></param>

        /// <param name="e"></param>

        private void CurrentNowTime_Tick(object sender, EventArgs e)

        {

            //this.CurrentNowTime.Enabled = true;//启用Elapsed事件生成

            //this.CurrentNowTime.Interval = 1000;//可以在窗体设置

            tssl_currNowTime.Text = Convert.ToString(DateTime.Now);

        }

       

    }

}

 

效果图

 



  • 大小: 37.1 KB
  • 大小: 54.5 KB
0
5
分享到:
评论

相关推荐

    CSharp_skin.rar_C#的skins怎么用_c# 皮肤_c#如何加皮肤_c#皮肤自绘_skin

    本文将详细介绍如何在C#中使用皮肤,以及如何为C# WinForm应用添加和自定义皮肤。 首先,让我们理解什么是皮肤。在软件开发中,皮肤通常是指用户界面的一种视觉样式,包括颜色、字体、布局等元素,可以改变程序的...

    皮肤选择器73款换肤winform皮肤Skins随你挑选

    "皮肤选择器73款换肤winform皮肤Skins随你挑选"是一个专门针对WinForm应用的皮肤库,为用户提供73种不同的皮肤样式,让应用程序看起来更加美观和个性化。 首先,"IrisSkin4"是这个皮肤库的核心组件,它是一个DLL...

    常用的72个C#程序皮肤

    在C#编程中,皮肤(Skin)是一种用户界面...通过学习和使用这些C#皮肤,开发者不仅可以提升应用的外观,还能提高用户对应用的第一印象,从而增加用户满意度。合理运用皮肤,可以为你的C#应用程序注入新的活力和个性。

    c#皮肤控件及皮肤打包下载

    本文将详细探讨C#中的皮肤控件,特别是与IrisSkin4相关的知识。 皮肤控件是能够改变应用程序外观的组件,允许开发者自定义按钮、文本框、菜单等控件的样式。这些样式可以包括颜色、字体、边框、动画效果等。通过...

    aimp2皮肤skins

    标题 "aimp2皮肤skins" 指的是针对 AIMP2 这款音频播放软件的皮肤资源。AIMP 是一款功能强大的音乐播放器,支持多种音频格式,具有高音质和自定义界面等特点。皮肤(Skins)是用户界面的一种定制形式,允许用户根据...

    一共22套C#闪亮皮肤

    为了使用这些皮肤,开发者需要了解如何在C#项目中集成IrisSkin库,这通常涉及到引用库文件、初始化皮肤引擎、设置皮肤文件路径以及调用相应的API来应用皮肤。同时,还需要熟悉皮肤文件的结构和内容,以便正确地加载...

    菜单换肤 WINFORMS菜单 C#皮肤

    2. 动态更新:如果允许用户自定义皮肤,可以提供一个皮肤编辑器,让用户调整颜色、字体等,然后保存到资源文件中,以便下次使用。 四、性能优化 为了确保应用程序的性能,需要注意以下几点: - 尽量减少不必要的...

    c#的一个皮肤控件使用示例

    本示例将详细介绍如何在C#项目中使用皮肤控件。 首先,我们需要了解皮肤控件的基本概念。皮肤控件通常由一组图片、颜色和字体定义组成,这些元素共同构成了控件的视觉外观。在C#中,我们可以使用第三方库,如...

    C#皮肤文件(ssk文件)

    C#皮肤文件(ssk文件)是用于C#应用程序的一种资源文件,主要用于改变软件界面的外观和风格,提升用户体验。这种文件通常包含了各种界面元素的样式定义,如按钮、文本框、窗口边框等,使得开发者能够快速地为程序...

    C#皮肤和用法

    本篇将详细介绍C#中皮肤的概念、应用以及如何使用皮肤。 一、皮肤(Skin)概述 皮肤是一种视觉样式,包含颜色、字体、图像等元素,用于定制UI控件的外观。在C#中,皮肤通常应用于Windows Forms或WPF等桌面应用开发...

    winform(c#)最全73种非常漂亮界面样式\皮肤(经典)

    - .SSK文件是SkinSoft或类似皮肤工具生成的皮肤文件格式,它包含了特定界面样式的详细定义,包括颜色方案、图像、字体等信息。通过在WinForm程序中引入这些文件,开发者可以轻松地应用和切换各种界面风格。 3. **...

    GBA VBA Visual Boy Advance Skins 皮肤

    2. **皮肤的制作与分享**:除了使用现成的皮肤,有编程基础的用户还可以尝试自己制作皮肤。这涉及到修改模拟器的皮肤配置文件,如XML或INI文件,以及相关的图像资源。完成后,可以分享给其他VBA用户,促进社区内的...

    C# IrisSkin4控件和73款皮肤

    本文将详细介绍IrisSkin4控件及其与73款皮肤相关的知识点。 首先,IrisSkin4是一个强大的皮肤引擎,它提供了丰富的皮肤支持,使得C#开发者能够在Windows Forms或WPF应用中实现自定义的外观和感觉。通过这个库,你...

    skins 皮肤

    下面将详细讨论皮肤在软件开发中的应用、工作原理以及如何创建和使用皮肤。 1. **皮肤的概念与作用** 皮肤是一种图形用户界面(GUI)的装饰层,它可以改变应用程序的视觉样式,包括颜色、字体、图标、布局等。这种...

    60种C#皮肤界面*.ssk文件

    本资源包含60种不同的C#皮肤界面文件,这些文件的扩展名为.ssk,是专门为C#设计的皮肤样式库。 首先,.ssk文件是SkinSoftSkin(皮肤软件皮肤)格式的文件,通常用于Windows Forms应用程序。它们包含了各种界面元素...

    C#窗体皮肤控件 很经典的

    在实际项目中,"Skins"文件夹很可能包含了多种不同风格的皮肤资源,如图片、XML配置文件等。开发者可以根据需求选择或更换合适的皮肤,以满足不同用户群体的审美需求。 总的来说,C#窗体皮肤控件为开发者提供了更大...

    C#皮肤插件,放到窗体上直接使用

    "C#皮肤插件,放到窗体上直接使用"这个标题暗示了一种能够让开发者快速改变应用程序外观的工具,使得程序界面更加美观和个性化。 描述提到,这种皮肤插件可以直接添加到窗体上,意味着它提供了一个简单易用的接口,...

Global site tag (gtag.js) - Google Analytics