码迷,mamicode.com
首页 > Windows程序 > 详细

公共事件,修改主窗体和子窗体的(主题)样式

时间:2014-08-14 19:51:29      阅读:231      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   os   文件   for   ar   2014   

主窗体修改主题样式时,同时修改子窗体的主题样式

系统展示效果:

bubuko.com,布布扣

一、项目结构

bubuko.com,布布扣

二、代码分析

  SetAllFormStyle 界面对象参数

  

  

    /// <summary>
    /// 编写:yj
    /// 日期:2014-08-14
    /// 描述:系统界面参数
    /// </summary>
    public class SetAllFormStyle: System.EventArgs
    {
        public C1.Win.C1Ribbon.VisualStyle autoStyle { get; set; }
    }

   CommonStyle 全部公共对象

    /// <summary>
    /// 编写:yj
    /// 日期:2014-08-14
    /// 功能:公共静态事件
    /// </summary>
    public static class CommonStyle
    {
        public static C1.Win.C1Ribbon.VisualStyle AllFormSytle = C1.Win.C1Ribbon.VisualStyle.Office2007Blue;

        public static event EventHandler<SetAllFormStyle> RFIDReaderClick;

        public static void OnRFIDReaderClick(object sender, SetAllFormStyle e)
        {
            if (RFIDReaderClick != null)
            {
                RFIDReaderClick(sender, e);
            }
        }
    }

 

  BaseForm.cs 基类文件

  

        private void BaseFrom_Load(object sender, EventArgs e)
        {
            CommonStyle.RFIDReaderClick += new EventHandler<SetAllFormStyle>(CommonStyle_RFIDReaderClick);
        }

        void CommonStyle_RFIDReaderClick(object sender, SetAllFormStyle e)
        {
            this.VisualStyle = e.autoStyle;
        }

   说明:在load方法中,注册公共事件。

  

  

  Form1.cs为设置窗体样式窗体

        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (comboBox1.Text == "Office2010Blue")
            {
                this.VisualStyle = C1.Win.C1Ribbon.VisualStyle.Office2010Blue;
            }
            else if (comboBox1.Text == "Office2010Silver")
            {
                this.VisualStyle = C1.Win.C1Ribbon.VisualStyle.Office2010Silver;
            }
            else if (comboBox1.Text == "Office2010Black")
            {
                this.VisualStyle = C1.Win.C1Ribbon.VisualStyle.Office2010Black;
            }
            else if (comboBox1.Text == "Office2007Blue")
            {
                this.VisualStyle = C1.Win.C1Ribbon.VisualStyle.Office2007Blue;
            }

            SetAllFormStyle safs = new SetAllFormStyle();
            safs.autoStyle = this.VisualStyle;
            CommonStyle.OnRFIDReaderClick(sender, safs);
        }

     From2,Form3所有窗体都继承BaseForm,这样就可以实现,修改Form1的主题时,所有窗体的主题样式都改变了。

 

  

 

公共事件,修改主窗体和子窗体的(主题)样式,布布扣,bubuko.com

公共事件,修改主窗体和子窗体的(主题)样式

标签:style   blog   http   os   文件   for   ar   2014   

原文地址:http://www.cnblogs.com/ancient-sir/p/3912963.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!