间接引用按钮
Indirect reference to a button
我有这个代码:
private void b9_Click(object sender, EventArgs e)
{
b9.Enabled = false;
color = 8;
}
问题是我有很多禁用按钮。我有机会使用类似的东西吗:
this.Enabled=false;
可能这就是你想要的
private void OnClick(object sender, EventArgs e)
{
if( sender is Button )
{
Button button = (Button)sender;
button.Enabled = false;
}
}
对需要在单击时禁用的每个按钮使用此例程。
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 class 而不是 Button。 Button继承自Control,属性Enabled定义在Controlclass.
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 事件处理程序调用此方法:
private void OnClick(object sender, EventArgs e)
{
DisableControl(sender);
}
它被称为多个控件的单个事件处理程序。只需根据需要为您的按钮放置以下事件处理程序。
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;
}
我有这个代码:
private void b9_Click(object sender, EventArgs e)
{
b9.Enabled = false;
color = 8;
}
问题是我有很多禁用按钮。我有机会使用类似的东西吗:
this.Enabled=false;
可能这就是你想要的
private void OnClick(object sender, EventArgs e)
{
if( sender is Button )
{
Button button = (Button)sender;
button.Enabled = false;
}
}
对需要在单击时禁用的每个按钮使用此例程。
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 class 而不是 Button。 Button继承自Control,属性Enabled定义在Controlclass.
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 事件处理程序调用此方法:
private void OnClick(object sender, EventArgs e)
{
DisableControl(sender);
}
它被称为多个控件的单个事件处理程序。只需根据需要为您的按钮放置以下事件处理程序。
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;
}