是否可以在选择其他控件时引发其他控件的事件

本文关键字:控件 其他 事件 选择 是否 | 更新日期: 2023-09-27 18:00:46

我的表单上有一个下拉菜单和一个单选按钮。我想做的是在drodown_SelectedIndexChanged上调用radio_CheckedChanged。有人能告诉我做的最佳方法吗

是否可以在选择其他控件时引发其他控件的事件

除非从类中继承,否则不可能从定义它的类外部引发事件。

如果您的目标是对RadioButton.CheckedChanged和DropDownList.SelectedIndexChanged事件执行相同的操作,则可以在单独的方法中提取代码,并从两个事件处理程序中调用它

public void radioButton_CheckedChanged(object sender, EventArgs e)
{
    DoSomething();
}
public void dropDownList_SelectedIndexChanged(object sender, EventArgs e)
{
    DoSomething();
}
private void DoSomething()
{
    // ...
}

我可能过于简化了这一点,但在您的dropdown_SelectedIndexChanged中,您可以只设置单选按钮值,这将触发选中的更改事件,或者如果您不想更改值,只需从您的dropdown_SelectedIndixChanged事件中调用radio_CheckedChanged。

您能更新radio.Checked属性,使其自动触发事件吗?事件持有者知道何时引发事件。

只需编写radio_CheckedChanged(sender, EventArgs.Empty)。这很像调用一个实际上是什么的方法。

编辑

这不是一种优雅的方法,因此如果您可以将代码逻辑封装到单独的方法中,然后根据您的条件在相应的处理程序中调用这些方法,则会更好。