创建随机颜色(System.Drawing.Color)

Hzy*_*zyf 10 c# asp.net

我想创建随机绘图颜色.有一个错误.你能帮我解决一下这段代码吗?

        private Random random;

        private void MainForm_Load(object sender, EventArgs e)
        {
            random = new Random();
        }

        private Color GetRandomColor()
        {
            return Color.FromArgb(random.Next(0, 255), random.Next(0,255),random.Next(0,255));
        // The error is here
        }  

        public SolidBrush brushGet()
        {
            SolidBrush oBrush = new SolidBrush(GetRandomColor());
            return oBrush;
        }
Run Code Online (Sandbox Code Playgroud)

aev*_*tas 4

除了 Random 对象在调用之前未初始化之外,我没有发现上述代码有任何问题。也完全不需要在表单的Load事件中初始化它;它可以在声明时正确完成:

private static readonly Random Random = new Random();
Run Code Online (Sandbox Code Playgroud)

就我个人而言,我不会在本地范围内声明它,据我所知,如果您这样做,每次都会得到相同的值。我个人也不认为有必要将事情过于复杂化;每次生成随机数并使用Color.FromAgb()您应该没问题的方法。