using System; using System.ComponentModel; using System.Drawing; namespace Microsoft.Windows.Forms { partial class UIWinControl { /// <summary> /// 获取或设置字体 /// </summary> [DefaultValue(typeof(Font), DefaultTheme._Font)] public override Font Font { get { return base.Font; } set { base.Font = value; } } /// <summary> /// 获取或设置背景色 /// </summary> [DefaultValue(typeof(Font), DefaultTheme._BackColor)] public override Color BackColor { get { return base.BackColor; } set { base.BackColor = value; } } /// <summary> /// 获取或设置前景色 /// </summary> [DefaultValue(typeof(Font), DefaultTheme._ForeColor)] public override Color ForeColor { get { return base.ForeColor; } set { base.ForeColor = value; } } private State m_State; /// <summary> /// 获取状态 /// </summary> [Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public virtual State State { get { return this.m_State; } protected set { if (value != this.m_State) { this.m_State = value; this.Invalidate(); } } } /// <summary> /// 计算状态 /// </summary> /// <returns>状态</returns> protected virtual State GetState() { return this.Enabled ? (this.Focused ? State.NormalFocused : State.Normal) : State.Disabled; } /// <summary> /// 启用状态改变 /// </summary> /// <param name="e">数据</param> protected override void OnEnabledChanged(EventArgs e) { base.OnEnabledChanged(e); this.State = this.GetState(); } /// <summary> /// 获取焦点 /// </summary> /// <param name="e">数据</param> protected override void OnGotFocus(EventArgs e) { base.OnGotFocus(e); this.State = this.GetState(); } /// <summary> /// 失去焦点 /// </summary> /// <param name="e">数据</param> protected override void OnLostFocus(EventArgs e) { base.OnLostFocus(e); this.State = this.GetState(); } } }