我试图使动态复选框与事件处理程序,但事件处理程序只为最后一个生成的工作。
我试着改变我的代码的位置。我也试着做更多的复选框,如果这会有什么不同的话。
for (int i = 0; i < appointments.TotalCount; i++) {
lstChckBox = new List<CheckBox>();
box = new CheckBox();
box.Tag = i;
box.Text = appointments.Items[i].Subject;
box.AutoSize = true;
box.Location = new Point(KalenderLbl.Location.X, KalenderLbl.Location.Y +
KalenderLbl.Height + 5 + (i * 25));
lstChckBox.Add(box);
box.CheckedChanged += new EventHandler(chck_CheckedChanged);
Controls.Add(box);
}
}
void chck_CheckedChanged(object sender, EventArgs e) {
foreach(CheckBox item in lstChckBox) {
if (item.Checked == true) {
Hide();
}
}
}
我想知道如何更改代码,使每个复选框都有此事件处理程序。
1条答案
按热度按时间wgx48brx1#
这段代码应该可以完成Dmitry Bychenko建议的任务。
我还建议缩短和简化部分代码,如。
最大限度地减少代码并避免使用box.property来设置一些将要设置的数据。