Neo*_*Neo 2 .net c# excel excel-addins winforms
我正在处理 excel 插件项目 c#。
想要创建带有在 List 中传递的名称的复选框列表,如何使用该传递命名创建它?
并希望也采用该复选框选定的值。
目前我有一个按钮,LoadEmployee当我点击所有 EmployeeNames 直接从 Sql 表加载到 Excel 表中时
现在我想做的是,当我点击LoadEmployee它时,会打开一个包含所有员工姓名的弹出窗口,每个员工姓名都有一个复选框,我选择哪个复选框只填充员工姓名而不填充其他。
在@Vajura 给出的答案的帮助下,我尝试过
调用弹出窗体使用
new FilterDataForm().ShowDialog(mylist);
Run Code Online (Sandbox Code Playgroud)
在弹出表单 .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);
}
}
Run Code Online (Sandbox Code Playgroud)
但也没有得到任何弹出窗口:(
检查这个屏幕截图,我正在寻找这样的弹出窗口的输出Employee 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);
}
}
Run Code Online (Sandbox Code Playgroud)