Top / .NET備忘録 / 08.Label / 03.全ソース

    using System;
    using System.ComponentModel;
    using System.Drawing;
    using System.Windows.Forms;
 
    namespace VB6Control
    {
        public class VBLabel : Label
        {
            private BackStyleConstants m_BackStyle = BackStyleConstants.vbBKSolid;
 
            public VBLabel()
            {
                base.BackColor = SystemColors.Control;
                SetStyle(ControlStyles.SupportsTransparentBackColor, true);
            }
 
            public enum BackStyleConstants
            {
                vbBKTransparent = 0, // 背景を透過する
                vbBKSolid = 1,       // 背景を透過しない
            }
 
            [Browsable(true)]
            [EditorBrowsable(EditorBrowsableState.Always)]
            [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
            [Description("背景が透明かどうかを取得または設定します。")]
            [DefaultValue(typeof(BackStyleConstants), "vbBKSolid")]
            public BackStyleConstants BackStyle
            {
                get { return m_BackStyle; }
                set
                {
                    if (m_BackStyle != value)
                    {
                        m_BackStyle = value;
                        OnBackStyleChanged(EventArgs.Empty);
                    }
                }
            }
 
            public event EventHandler BackStyleChanged = null;
 
            protected virtual void OnBackStyleChanged(EventArgs e)
            {
                if (BackStyle == BackStyleConstants.vbBKTransparent)
                    this.BackColor = Color.Transparent;
                else
                    this.BackColor = SystemColors.Control;
                if (BackStyleChanged != null) BackStyleChanged(this, e);
            }
        }
    }



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   最終更新のRSS
Last-modified: 2013-05-22 (水) 10:55:16 (1616d)