如何通过在List C#中传递checkbox名称来在Winform上创builddynamiccheckbox?

我正在开发excel插件项目c#。

想要创buildList中传入名称的checkbox列表,我怎样才能创build与名为?

并且还想取那个checkbox的选定值。

目前我有一个buttonLoadEmployee当我点击所有EmployeeNames从Sql表直接加载到Excel工作表

现在我想要做的是,当我点击LoadEmployee ,将打开一个包含所有员工姓名的popup窗口,每个emplyee名称都有一个checkbox,我select哪一个员工姓名只填充其他。

在@Vajura给出的答案的帮助下,我尝试了一下

称为popup窗体使用

  new FilterDataForm().ShowDialog(mylist); 

popup窗体.cs

 internal void ShowDialog(MyModel.ListEmployee> mylist) { GenerateFilterList(mylist); } private void GenerateFilterList(List<ListEmployee> mylist) { System.Windows.Forms.CheckBox box; for (int i = 0; i < mylist.Count; i++) { box = new System.Windows.Forms.CheckBox(); box.Tag = mylist[i]; box.Text = mylisti].ToString(); box.AutoSize = true; box.Location = new Point(10, i * 50); //vertical //box.Location = new Point(i * 50, 10); //horizontal this.Controls.Add(box); } } 

但也没有得到任何popup:(

检查这个屏幕截图我正在寻找这样的输出popupEmployee names将被显示,通过使用LIST传递 在这里输入图像说明

你已经有一个名单与雇员的名字? 然后干脆这样做

 private void Form1_Load(object sender, EventArgs e) { this.Size = new Size(200, 200); List<string> yourList = new List<string>(); yourList.Add("A"); yourList.Add("B"); yourList.Add("C"); yourList.Add("D"); yourList.Add("E"); yourList.Add("F"); CheckBox box; int innitialOffset = 20; int xDistance = 80; int yDistance = 50; for (int i = 0; i < yourList.Count; i++) { box = new CheckBox(); box.Tag = yourList[i]; box.Text = yourList[i].ToString(); box.AutoSize = true; box.Location = new Point(innitialOffset + i % 2 * xDistance, innitialOffset + i / 2 * yDistance); this.Controls.Add(box); } }