| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 683 人关注过本帖
标题:# Button数组,设置成不同颜色
只看楼主 加入收藏
z909562139
Rank: 2
等 级:论坛游民
帖 子:32
专家分:87
注 册:2012-11-5
结帖率:75%
收藏
已结贴  问题点数:10 回复次数:2 
# Button数组,设置成不同颜色
哪位高人指点一下!
C# Button数组,设置成不同颜色
Button[] btn=new Button[20];
for (int i = 0; i < btn.Length; i++)
           {
               btn[i] = new Button();
               btn[i].Location=new Point(72+i*x,12);
               btn[i].Size = new Size(72, 39);
               btn[i].BackColor = Color.Red;
               this.Controls.Add(btn[i]);
           }
我想将这个20个 按钮的背景色设置成不同颜色的,该怎么实现?
搜索更多相关主题的帖子: 背景色 
2012-11-07 12:41
mmxo
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:13
帖 子:189
专家分:1090
注 册:2012-11-7
收藏
得分:5 
这个简单,如下:
程序代码:
using System;
using System.Drawing;
using System.Windows.Forms;

namespace ButtonBackground
{
    public partial class FormMain : Form
    {
        public FormMain()
        {
            InitializeComponent();
            var random = new Random(DateTime.Now.Millisecond);
            foreach (var control in Controls)
            {
                if (!(control is Button))
                    continue;
                var button = (Button) control;
                button.FlatStyle = FlatStyle.Flat;
                button.BackColor = Color.FromArgb(random.Next(0, 256), random.Next(0, 256), random.Next(0, 256));
            }
        }
    }
}

这是随机设置按钮的颜色,你如果想给按钮指定设置好的颜色,就搞个颜色数组,对应赋予BackColor属性即可。


[ 本帖最后由 mmxo 于 2012-11-7 12:56 编辑 ]

为提高中华编程水平而奋斗
2012-11-07 12:50
zhangjian123
Rank: 2
等 级:论坛游民
威 望:1
帖 子:13
专家分:41
注 册:2012-10-29
收藏
得分:5 
如果 要用随机数获取颜色,建议使用多线程,因为随机数和系统时间有关系,连续获取,颜色基本相似。可以使用多线程,来控制函数调用时间。
        private void button1_Click(object sender, EventArgs e)
        {
            Thread t = new Thread(new ThreadStart(process));
            t.Start();
        }

        public void process()
        {
            this.Invoke(new createButtonsDelegate(createButtons), new object[] {  });
        }

        private delegate void createButtonsDelegate();
        public void createButtons()
        {
            int length = 72;
            int height = 39;
            Button[] btn = new Button[20];
            for (int i = 0; i < btn.Length; i++)
            {
                btn[i] = new Button();
                int pointX = (i % 5) * length;
                int pointY = (i / 5) * height;
                btn[i].Location = new Point(pointX, pointY);
                btn[i].Size = new Size(72, 39);
                Random random = new Random();
                btn[i].BackColor = Color.FromArgb(random.Next(0, 256), random.Next(0, 256), random.Next(2, 256));
                this.Controls.Add(btn[i]);
                Thread.Sleep(20);
            }
        }

2012-11-07 16:07
快速回复:# Button数组,设置成不同颜色
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017249 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved