ゲームのための簡単なグリッドを作ろうとしています。私はC#とプログラミングの初心者です。ボタンのクリックを制限する方法を教えてもらえますか?グリッドに1つのプレーヤーしか作成しないので、1回クリックした後、ユーザーをより多くのプレーヤーにすることを制限したい。私はあなたの専門家の助けが必要です。1回のクリックでボタンを無効にする
protected void SetClicks()
{
foreach (Control c in this.panel1.Controls)
{
if (c is Button)
{
Button who = c as Button;
who.Click += new EventHandler(WhoClicked);
}
}
}
protected void MakeButtons()
{
rowNum = UpDownRow.Text;
int nr = Int16.Parse(rowNum);
colNum = UpDownColumn.Text;
int nc = Int16.Parse(colNum);
int btnHeight = panel1.Height/Int16.Parse(rowNum);
int btnWidth = panel1.Width/Int16.Parse(colNum);
for (int row = 0; row < nr; row++)
{
for (int column = 0; column < nc; column++)
{
Button btnNew = new Button();
btnNew.Name = "btn_" + column + "_" + row;
btnNew.Height = btnHeight-5;
btnNew.Width = btnWidth-5;
btnNew.Font = new Font("Arial", 20);
// btnNew.Text = theSymbol;
btnNew.Image = Properties.Resources.backg;
btnNew.Visible = true;
// int CenterPoint = panel1.Width/3;
btnNew.Location = new Point(10 + (column* btnNew.Width), 10 + (row* btnNew.Height));
//Controls.Add(btnNew);
panel1.Controls.Add(btnNew);
}
}
}
private void button2_Click(object sender, EventArgs e)
{
picSymbol = Properties.Resources.Player;
button2.Enabled = false;
// want some help here
MessageBox.Show("Too Many Player", "Player number exceed",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
問題をデバッグしましたか? – mybirthname
これは期待どおりに動作するはずです。 – Phiter
最初のクリック後にメッセージボックスが表示される点を除いて、それは問題ありません。メッセージボックスを削除する – bixarrio