如何通过在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); } }