我正在开发一个非常基本的绘图程序:一个由多个 RectangleShapes 组成的 2D 网格,每个大约 20x30 像素,单击时会根据用户 RGB 输入更改颜色,效果很好:
Color SelectedColor = new Color();
private void Pixel_1_1_Click(object sender, EventArgs e) // on Rectangle click
{
Pixel_1_1.FillColor = SelectedColor; // change to currently desired color.
}
由于正方形的数量急剧增加,我正在寻找一种将“像素”矩形排列成二维数组的方法。(我真的不想为屏幕上的每个 Rectangle 创建一个 Pixel_Click 方法!)希望最终能够调用类似:
private void Pixel_[x]_[y]_Click(object sender, EventArgs e)
{
Pixel_[x]_[y].FillColor = SelectedColor;
}
我的朋友建议使用匿名代表,但我不明白如何充分使用匿名代表来解决我的问题。
在 C# Windows 窗体中生成二维矩形数组的最佳方法是什么?一旦生成,我如何使用单一方法访问它们以获取 x 和 y 的变体值?