C# 如何将datagrid拆分为相同的矩形

C# 如何将datagrid拆分为相同的矩形,c#,datagrid,colors,cells,C#,Datagrid,Colors,Cells,我有迭代所有单元格的代码如何使每个4x4单元格具有不同的颜色 这是我的密码: int c = ran.Next(1, 5); for (int i = 0; i < box_width; i++) { for (int j = 0; j < box_height; j++) { switch (c) { case 1: MyClass.grid.Rows[j].Cells[i].

我有迭代所有单元格的代码如何使每个4x4单元格具有不同的颜色

这是我的密码:

int c = ran.Next(1, 5);

for (int i = 0; i < box_width; i++)
{
    for (int j = 0; j < box_height; j++)
    {
        switch (c)
        {
            case 1:
                MyClass.grid.Rows[j].Cells[i].Style.BackColor = Color.Yellow;
                break;
            case 2:
                MyClass.grid.Rows[j].Cells[i].Style.BackColor = Color.LightGray;
                break;
            case 3:
                MyClass.grid.Rows[j].Cells[i].Style.BackColor = Color.LightBlue;
                break;
            case 4:
                MyClass.grid.Rows[j].Cells[i].Style.BackColor = Color.Blue;
                break;
        }
    }

}
intc=ran.Next(1,5);
对于(int i=0;i
此代码使用随机拾取的颜色填充所有网格。我想把它分成不同颜色的X维

谢谢

int c=ran.Next(1,5);
int c = ran.Next(1, 5);

for (int i = 0; i < box_width; i += 2)
{
    for (int j = 0; j < box_height; j += 2)
    {
        Color cellColor;

        switch (c)
        {
            case 1:
                cellColor = Color.Yellow;
                break;
            case 2:
                cellColor = Color.LightGray;
                break;
            case 3:
                cellColor = Color.LightBlue;
                break;
            case 4:
                cellColor = Color.Blue;
                break;
        }

        MyClass.grid.Rows[j].Cells[i].Style.BackColor = cellColor;
        MyClass.grid.Rows[j].Cells[i+1].Style.BackColor = cellColor;
        MyClass.grid.Rows[j+1].Cells[i].Style.BackColor = cellColor;
        MyClass.grid.Rows[j+1].Cells[i+1].Style.BackColor = cellColor;
    }
}
对于(int i=0;i
这假设box_宽度和box_高度与DataGridView中的行数和单元格数相同

让我知道,如果这对你有效,我还没有测试过它,但它似乎在我的脑海中


但是,如果单元格不是偶数4x4倍数,则会引发异常。您确定它们总是4x4的倍数吗?如果没有,您必须添加错误检查。

这非常有效。如何使其适合所有屏幕?例如,如果我的屏幕分辨率会给我不同数量的单元格,在最后一列中,我只剩下一个而不是两个?我也只能画那个吗?