C#随机颜色生成器无法正常工作

1 c# grid geometry drawing colors

这部分代码行为不端.我想绘制一个用户定义的圆圈网格,每个圆圈都有一个7种颜色的设置列表中的随机颜色.随机数生成器应该这样做.圆圈的网格被绘制得很好,它的颜色让我感到悲伤.我似乎每格最多两种颜色,前十二种是一种颜色,其余颜色是第二种颜色.奇怪的是,因为代码应循环通过颜色生成器,然后绘制一个圆圈并重复.请帮我找一些麻烦的线条,花太多时间自己尝试!

忽略对JEWEL_HEIGHT和类似的引用,它们只是与程序相关的变量名.

              int columns = int.Parse(textBoxColumns.Text);
            int rows = int.Parse(textBoxRows.Text);


            for (int y = 0; (y < rows * 20); y += JEWEL_HEIGHT)
            {
                for (int x = 0; (x < columns * 20); x += JEWEL_WIDTH)
                {


                    Color brushColor = (Color.Red);
                    Random randGen = new Random();
                    int randColor = randGen.Next(7);
                    if (randColor == 0)
                        brushColor = (Color.Red);
                    else if (randColor == 1)
                        brushColor = (Color.Orange);
                    else if (randColor == 2)
                        brushColor = (Color.Yellow);
                    else if (randColor == 3)
                        brushColor = (Color.Green);
                    else if (randColor == 4)
                        brushColor = (Color.Blue);
                    else if (randColor == 5)
                        brushColor = (Color.Indigo);
                    else if (randColor == 6)
                        brushColor = (Color.Violet);

                    Graphics paper = pictureBoxJewels.CreateGraphics();
                    SolidBrush brush = new SolidBrush(brushColor);

                    paper.FillEllipse(brush, x, y, JEWEL_WIDTH, JEWEL_HEIGHT);
Run Code Online (Sandbox Code Playgroud)

小智 5

不确定因为我无法测试它但随机randGen = new Random(); 不应该在for循环中.把它放在第一个for循环之前并保留randGen.Next(7); 在循环内部.