C# を使い始めたばかりで、この特定の部分コード (より正確にlblArr[i, j].Click += pnlArr_Click;
は行)に行き詰まり続けています。
public void CreateLabelArray(int height, int width, int nrofShips)
{
pnlBase.Controls.Clear();
lblArr = new Label[height, width];
int xpos = 0;
int ypos = 0;
for (int j = 0; j < width; j++)
{
int column = j + 1;
for (int i = 0; i < height; i++)
{
Coordinaat pos = new Coordinaat();
pos.X = j;
pos.Y = i;
lblArr[i, j] = new Label();
lblArr[i, j].Left = xpos;
lblArr[i, j].Top = ypos;
lblArr[i, j].Width = 35;
lblArr[i, j].Height = 35;
lblArr[i, j].Tag = pos;
lblArr[i, j].Click += pnlArr_Click;
lblArr[i, j].BackColor = System.Drawing.Color.LightBlue;
lblArr[i, j].BorderStyle = BorderStyle.FixedSingle;
pnlBase.Controls.Add(lblArr[i, j]);
xpos += 0;
ypos += lblArr[i, j].Height;
}
xpos += 35;
ypos = 0;
}
}
配列内のラベルでどの特定のマウス ボタンが押されたかを調べようとしているときに、この方法が機能する可能性があると考えました。
public int pnlArr_Click(object sender, MouseEventArgs e)
MouseEventArgs を EventArgs に変更するとエラーはなくなりますが、これはもう機能しません。
if (e.Button == MouseButtons.Left)
何か案は?すべての助けに感謝します。