gpt4 book ai didi

c# - 绘制多个矩形c#

转载 作者:太空宇宙 更新时间:2023-11-03 13:51:23 26 4
gpt4 key购买 nike

在 C# 中绘制 25 个矩形 (5*5) 的最佳方法是什么?我稍后需要能够到达特定的矩形并更改其颜色,例如,如果用户输入了错误的词,则将颜色更改为红色。在这种情况下创建一个矩形数组会更合适吗?

这是我目前的情况

Graphics g = pictureBox1.CreateGraphics();

int x =0;
int y= 0;
int width = 20;
int height = 20;
for (int i = 0; i < 25; i++)
{
if (i <= 4)
{
g.FillRectangle(Brushes.Blue, x, y, width, height);
x += 50;
}
else if (i > 4)
{
y = 50;
g.FillRectangle(Brushes.Blue, x, y, width, height);
x += 50;
}
}

最佳答案

这应该让您入门,而不是完整的代码。您将需要添加一个 PictureBox 控件并使用默认名称 (picurebox1)。编辑:也需要添加一个按钮 :)

public partial class Form1 : Form
{
public List<Rectangle> listRec = new List<Rectangle>();
Graphics g;

public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
Rectangle rect = new Rectangle();
rect.Size = new Size(100,20);
for (int x = 0; x < 5; x++)
{
rect.X = x * rect.Width;
for (int y = 0; y < 5; y++)
{
rect.Y = y * rect.Height;
listRec.Add(rect);
}
}

foreach (Rectangle rec in listRec)
{
g = pictureBox1.CreateGraphics();
Pen p = new Pen(Color.Blue);
g.DrawRectangle(p, rec);
}
}

public void ChangeColor(Rectangle target, Color targetColor)
{
Pen p = new Pen(targetColor);
g.DrawRectangle(p, target.X, target.Y, target.Width, target.Height);
}

private void Form1_KeyDown(object sender, KeyEventArgs e)
{
switch (e.KeyCode)
{
case Keys.D0: ChangeColor(listRec[0], Color.Red);
break;
case Keys.D1: ChangeColor(listRec[1], Color.Red);
break;
//..more code to handle all keys..
}
}
}

关于c# - 绘制多个矩形c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13595585/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com