我有这个代码:
private void b9_Click(object sender, EventArgs e)
{
b9.Enabled = false;
color = 8;
}
问题在于我有很多禁用按钮。我有可能使用类似的东西:
this.Enabled=false;
答案 0 :(得分:3)
可能这就是你想要的
private void OnClick(object sender, EventArgs e)
{
if( sender is Button )
{
Button button = (Button)sender;
button.Enabled = false;
}
}
将此例程用于您需要在点击时禁用的每个按钮。
答案 1 :(得分:1)
它被称为多个控件的单个事件处理程序。只需为您的按钮添加以下事件处理程序即可。
public void Button_Click(object sender, EventArgs e)
{
Button button = (Button)sender;
button.IsEnable = false;
// If you want to access text in the button
... = button.Content as object;
}
答案 2 :(得分:-1)
private void OnClick(object sender, EventArgs e)
{
Button btn = sender as Button; // if sender is not a Button, btn will be null
if (btn != null)
{
btn.Enabled = false;
}
}
如果要对任何可单击控件应用相同的行为,可以使用Control类而不是Button。 Button继承自Control,属性Enabled在Control类中定义。
private void OnClick(object sender, EventArgs e)
{
Control ctrl = sender as Control; // if sender is not a Control, ctrl will be null
if (ctrl != null)
{
ctrl .Enabled = false;
}
}
此外,如果您想更进一步,可以创建一个禁用单击控件的方法。像这样:
private void DisableControl(object sender)
{
Control ctrl = sender as Control;
if (ctrl != null)
{
ctrl.Enabled = false;
}
}
然后,您可以通过Click even处理程序调用此方法,如下所示:
private void OnClick(object sender, EventArgs e)
{
DisableControl(sender);
}