button1.Enabled = false;
旁边还有其他方法可以禁止用户点击它吗?
我正在WinForms中实现简单的TicTacToe游戏,如果我使用Enabled属性,按钮文本的颜色会变成灰色,这会破坏我的用户界面。
我想保留按钮的格式,只是禁用用户的进一步点击。
答案 0 :(得分:5)
最简单的方法是在调用事件处理程序后将其分离。
void HandleClick(object sender, EventArgs e)
{
((Button)sender).Click -= HandleClick;
// Handle the click
}
答案 1 :(得分:0)
您可以为所有按钮示例保留一组布尔值
bool [] buttonClicked = new bool [9];
然后你有9个按钮点击事件处理程序
private void button1_Clicked(object sender, EventArg e)
{
if(buttonClicked[0]==true)
return;
else
{
// your code goes here
// mark this button in boolean array as clicked
buttonClicked[0] = true;
}
}
并且不要忘记在每个新游戏中将buttonClicked数组值重置为false
for(int i=0;i<9;i++)
{
buttonClicked[i]=false;
}
希望这有帮助
答案 2 :(得分:0)
在每个方格中,您可以放置标签和按钮。按下按钮时,它会隐藏自身(将Visible设置为false)并显示标签(再次通过设置其Visible属性)。标签文本可以设置为O或X.