C# 枚举Color并展示各种颜色效果

2022-07-06 12:19:22

本方法枚举Color以展示各颜色效果,方便为控件选择合适的颜色。本例需要在窗体项目中使用,通过创建ListView控件展示,代码如下:

        private void displayColor()
        {
            Control listControl = this.Controls["listView_Color"];
            if (listControl != null)
            {
                listControl.Visible = true;
                return;
            }
            ListView listView_Color = new ListView();
            System.Windows.Forms.ColumnHeader columnHeaderA = new System.Windows.Forms.ColumnHeader();
            System.Windows.Forms.ColumnHeader columnHeaderB = new System.Windows.Forms.ColumnHeader();
            System.Windows.Forms.ColumnHeader columnHeaderC = new System.Windows.Forms.ColumnHeader();
            System.Windows.Forms.ColumnHeader columnHeaderD = new System.Windows.Forms.ColumnHeader();
            System.Windows.Forms.ColumnHeader columnHeaderE = new System.Windows.Forms.ColumnHeader();
            System.Windows.Forms.ColumnHeader columnHeaderF = new System.Windows.Forms.ColumnHeader();
            columnHeaderA.Width = 200;            
            listView_Color.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
                columnHeaderA,
                columnHeaderB,
                columnHeaderC,
                columnHeaderD,
                columnHeaderE,
                columnHeaderF
            });

            string[] strArr = new string[6];
            System.Array colorsArray = Enum.GetValues(typeof(System.Drawing.KnownColor));
            for (int i = 0; i < colorsArray.Length; i++)
            {
                string colorName = colorsArray.GetValue(i).ToString();
                //if (colorName.Contains("Green"))
                {
                    System.Drawing.Color color = System.Drawing.Color.FromName(colorName);
                    for (int j = 0; j < 6; j++)
                        strArr[j] = colorName;
                    ListViewItem li = new ListViewItem(strArr);
                    li.ForeColor = color;
                    listView_Color.Items.Add(li);

                    li = new ListViewItem(strArr);
                    li.BackColor = color;
                    listView_Color.Items.Add(li);

                    li = new ListViewItem(strArr);
                    li.BackColor = color;
                    li.ForeColor = System.Drawing.Color.White;
                    listView_Color.Items.Add(li);
                }
            }
            this.Controls.Add(listView_Color);
            listView_Color.BringToFront();
            listView_Color.Dock = DockStyle.Fill;
            listView_Color.View = System.Windows.Forms.View.Details;
            columnHeaderF.Width = listView_Color.DisplayRectangle.Width - columnHeaderA.Width - columnHeaderB.Width - columnHeaderC.Width - columnHeaderD.Width - columnHeaderE.Width;
            listView_Color.Name = "listView_Color";
        }
        private void hideColor()
        {            
            Control listControl = this.Controls["listView_Color"];
            if(listControl!=null)
                listControl.Visible = false;
        }
  • 作者:lzl_li
  • 原文链接:https://blog.csdn.net/lzl_li/article/details/117922098
    更新时间:2022-07-06 12:19:22