这是在使用 c# 的 WinForms 中。有一个包含 10 个单选按钮的表单,即汽车、自行车、火车、公共汽车等。还有一个带有文本“XYZ”的标签。所有这些都在同一个组框中。我编写了以下常用方法来隐藏选中单选按钮时的文本。
private void Hide_radio(object sender, EventArgs e)
{
RadioButton rb = sender as RadioButton;
if (rb != null)
label1.Text="";
}
奇怪的是,按以下方式调用事件(就在初始化组件下),仅适用于少数无线电而不是全部。当我拖动一个新收音机时,它可以工作。[严格拖放。没有添加或删除新代码。]
foreach (Control gb1c in groupBox1.Controls)
{
if (gb1c is RadioButton)
{
RadioButton rb = gb1c as RadioButton;
rb.CheckedChanged += new MouseEventHandler(Hide_radio);
break;
}
}
我检查了designer.cs,所有收音机的代码都是一样的。所以基本上,事件处理只在少数新收音机上工作,但不是全部。为什么 C# 表现得如此幼稚..