Windows フォームと C# を使用して、2 人のプレイヤー向けの単純な 5 列 (五目並べ) ゲームを作成しようとしています。絵の入ったピクチャーボックスを置き、フォームに伸ばしました。ここで、ユーザーがクリックして背景色を黒または白に変更できるように、画像ボードのすべての交差点にラベルを配置したいと考えています。
作成したラベルをフォーム上でクリック可能にするにはどうすればよいですか?
public partial class Form1 : Form { int labelCount = 0; int iteration = 0; public Form1() { InitializeComponent(); Label[] board = new Label[361]; for (int i = 0; i < 361; i++) { board[i] = new Label { Name = "label" + i, Height = 55, Width = 55, MinimumSize = new Size(55, 55), Text = "label " + i }; } int x = 0; int y = 0; foreach (var Label in board) { if (x >= 580) { x = 0; y = y + Label.Height + 55; } Label.Location = new Point(x, y); this.Controls.Add(Label); x += Label.Width; } } }
[{A,1}, {A,2}....{D,1}]
勝者を簡単に確認するには、1 次元 [361] または 2 次元の配列を作成する必要がありますか? 配列データがボード上のオブジェクトに対応するように、作成したラベルに接続するにはどうすればよいですか?