私は非常に初歩的な描画プログラムを開発しています:複数の 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.
}
正方形の数が劇的に増加しているため、「ピクセル」の長方形を 2D 配列に配置する方法を探しています。(画面上のすべての Rectangle に対して Pixel_Click メソッドを作成する必要はありません!) 最終的に次のようなものを呼び出せるようになることを望んでいます。
private void Pixel_[x]_[y]_Click(object sender, EventArgs e)
{
Pixel_[x]_[y].FillColor = SelectedColor;
}
私の友人は、匿名デリゲートの使用を提案していますが、問題を解決するために匿名デリゲートを完全に使用する方法がわかりません。
C# Windows フォームで四角形の 2D 配列を生成する最良の方法は何でしょうか? 一度生成されたら、x と y のバリアント値に対して 1 つのメソッドでそれらにアクセスするにはどうすればよいでしょうか?