程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 更多關於編程 >> c#構造ColorComboBox

c#構造ColorComboBox

編輯:更多關於編程

    這篇文章主要介紹了c#構造ColorComboBox的代碼分享,大家參考使用吧

    代碼如下:

        class ColorComboBox : ComboBox

        {

            /// <summary>

            /// 當前選中色

            /// </summary>

            public Color SelectedColor

            {

                get { return Color.FromName(this.Text); }

            }

            /// <summary>

            /// 構造函數,構造顏色下拉列表

            /// </summary>

            public ColorComboBox()

            {

                this.DrawMode = DrawMode.OwnerDrawFixed;

                this.DropDownStyle = ComboBoxStyle.DropDownList;

                this.ItemHeight = 25;

     

                PropertyInfo[] propInfoList = typeof(Color).GetProperties(BindingFlags.Static | BindingFlags.DeclaredOnly | BindingFlags.Public);

                foreach (PropertyInfo c in propInfoList)

                {

                    this.Items.Add(c.Name);

                }

                this.Text = "Black"; //設置默認色

            }

     

            protected override void OnDrawItem(DrawItemEventArgs e)

            {

                Rectangle rect = e.Bounds;

     

                if (e.Index >= 0)

                {

                    string colorName = this.Items[e.Index].ToString();

                    Color c = Color.FromName(colorName);

                    using (Brush b = new SolidBrush(c)) //預留下拉項間距

                    {

                        e.Graphics.FillRectangle(b, rect.X, rect.Y + 2, rect.Width, rect.Height - 4);

                    }

                }

            }

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved