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#如何找出动态创建的不确定数量的复选框的任何检查状态更改的主要内容,如果未能解决你的问题,请参考以下文章

动态创建的复选框不可点击

如何仅使用在不使用动态SQL的情况下检查的复选框,将WHERE子句设置为在多个位列上进行过滤?

如何在C#中动态创建FileUploads的查询?

通过列表视图检查动态生成的复选框时出现问题

ReactJs 设置自定义引导复选框的不确定状态

mysql Update Statement取决于选中的复选框的数量