第七八步,设置的默认皮肤 跟上面的实现 方法是一样的,这三个实现方法是一样的,在这里不在多解释了 代码
#region //设置皮肤色ChangeSkinColor
public void PerformChangeSkinColor() { PerformChangeSkinColor(SkinColor.Undefault); } //设置皮肤色 public void PerformChangeSkinColor(SkinColor skinColor) { try { this.SuspendRedraw(); ChangeSkinColor(skinColor); } catch { throw; } finally { this.ResumeRedraw(); } }
{zh1}一步,就是当修改皮肤是我们要做什么了 其实也不是很难的,只要调用一些方法就可以,大家如果 想知道 每个方法的意思 的话,可以自己转到定义去看, 当然在说到皮肤控件是我会一一说明 的 实现 代码 代码
//修改皮肤色时
public virtual void ChangeSkinColor(SkinColor skinColor) { if (this.CurrentSkinColor != skinColor) { this.ReSetFormBitmap(); if (skinColor != SkinColor.Undefault) { Shared.ChangeSkinColor(skinColor, this); } } else { this.ReSetFormBitmap(); Shared.ChangeControlsSkinColor(this); } this.CurrentSkinColor = Shared.CurrentSkinColor; }
这个实体基本上就是这样实现 的,FormBase跟窗体的实现 是一样的,只是在新建的时候创建的是用户控件,实现 的方法没有二样, 有了这个窗体就为了们实现FunctionFormBase这个窗体打下了基础,下一次的文章我会接着说FunctionFormBase这个窗体的实现 也就是常用的添加,删除的小窗体,先看看效果吧!!!
效果就是这样的, 下面是这个窗体实现的所有代码
代码
using System;
using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.IO; using CRD.Common; namespace CRD.WinUI.Forms { /// <summary> /// 常用的窗体之一,用于添加修改等弹出窗体 /// </summary> public partial class FormBase : Form { //默认的肤色 这是一个枚举 private SkinColor _currentSkinColor = SkinColor.Default; //设置窗体无边框 private FormBorderStyle _formBorderStyle = FormBorderStyle.None; //得到一个值表示 是否重绘 private bool _isRedrawSuspended; //当前应用的皮肤 public SkinColor CurrentSkinColor { get { return _currentSkinColor; } set { _currentSkinColor = value; } } //指定方法或是属性是否可以在编辑器中查看Never始终不能,Always始终是可以的,Advanced只有高级用户才能查看 [EditorBrowsable(EditorBrowsableState.Never)] public new FormBorderStyle FormBorderStyle { get { return base.FormBorderStyle; } set { base.FormBorderStyle = value; } } //指定事件或是属性是否显示在属性窗口中 //[Browsable(false)] //指定事件或是属性是否显示在属性窗口中 [Browsable(true)] public FormBorderStyle FormStyle { get { return _formBorderStyle; } set { _formBorderStyle = value; } } //得到一个值表示 是否重绘 public bool IsRedrawSuspended { get { return _isRedrawSuspended; } } //构造函数 public FormBase() { this.SetStyle(ControlStyles.DoubleBuffer | ControlStyles.AllPaintingInWmPaint, true); InitializeComponent(); } |