我有一个生成多个面板的代码,每个面板都包含一些标签和组合框。每个面板中包含的控件之一是一个复选框,我需要做的是,当用户选中该复选框时,该复选框所在的整个面板将被删除。在生成面板的 foreach 循环中,可以使用名称“Strip”访问面板本身。在这个循环之外,如果我要传输所有必要的参数(或参数,不确定这里的术语),它会在它的标签之一“呼号”之后被调用,所以当我需要将它的名字放到一个方法中时,我设置为参数“callsign.Text”。现在,这是我的 Checkbox 生成代码:
CheckBox check = new CheckBox();
check.Location = new Point(270, 10);
check.Name = "check:" + callsign.Text;
check.CheckedChanged += new System.EventHandler(CheckCheckedChanged(callsign.Text));
Strip.Controls.Add(check);
这里是方法 CheckCheckedChanged 的定义:
public void CheckCheckedChanged(string callsign, object sender, EventArgs e)
{
}
...首先,我在一行出现错误check.CheckedChanged += new System.EventHandler(CheckCheckedChanged(callsign.Text));
它说,“方法没有重载CheckCheckedChanged
需要 1 个参数”。我不知道怎么了,所以这是我的第一个问题。第二个是 - 我不知道如何编写删除以 callsign.Text 命名的特定面板的方法,如果我只写“callsign dispose”,那么我想它不会起作用。提前致谢