C#如何找出动态创建的不确定数量的复选框的任何检查状态更改
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#如何找出动态创建的不确定数量的复选框的任何检查状态更改相关的知识,希望对你有一定的参考价值。
虚伪地说,我有一份工作正在为我的客户创造想法。对于一个客户端,我有一个建议列表,我从中创建了相应的复选框。现在我需要知道哪些客户端未经检查,所以我可以删除它们。
- 建议数量不固定。该数字是我当前SuggestionList的长度。
int checkboxnumber = Myclass.suggestionline.Count();
for (int i = 0; i < checkboxnumber; i++)
{
CheckBox cb = new CheckBox();
cb.Text = Myclass.suggestionline[i][0];
cb.Location = new Point(5, 5 + i * 24);
cb.BackColor = Color.White;
cb.Name = "checkbox"+i;
cb.AutoSize = true;
cb.Checked = true;
panel1.Controls.Add(cb);
};
我将SuggestionList构建为List <List <string >>,4个建议SuggestionList示例如下:
{{"suggestion1", "like", "100 Euro"},{"suggestion2", "like", "200 Euro"},{"suggestion3", "like", "300 Euro"},{"suggestion4", "like", "400 Euro"}}
答案
我想到了。感谢这个相关的问题:How can I create a dynamic button click event on a dynamic button?
CheckBox cb = new CheckBox();
...
int checkboxnumber = Myclass.suggestionline.Count();
for (int i = 0; i < checkboxnumber; i++)
{
cb = new CheckBox();
cb.Text = Myclass.suggestionline[i][0];
cb.Location = new Point(5, 5 + i * 24);
cb.BackColor = Color.White;
cb.Name = "checkbox"+i;
cb.AutoSize = true;
cb.Checked = true;
cb.CheckedChanged += new EventHandler(CheckedChanged);
panel1.Controls.Add(cb);
};
...
private void CheckedChanged(object sender, EventArgs e)
{
CheckBox cb = sender as CheckBox;
if (!cb.Checked)
{
Console.WriteLine(cb.Text);
}
}
以上是关于C#如何找出动态创建的不确定数量的复选框的任何检查状态更改的主要内容,如果未能解决你的问题,请参考以下文章