-1

我有一个 C# WinForm 应用程序。有很多复选框,我想检查是否选中了其中的任何一个,如果是,则将复选框具有的文本打印到 Excel 单元格。我想我需要创建一个列表。下面的代码是我现在所拥有的,它绝对行不通,只是为了让你知道我想去哪里。提前致谢!

int j = 0;
                            if (checkBox7.Checked) j++;
                            if (checkBox8.Checked) j++;
                            if (checkBox9.Checked) j++;
                            if (checkBox10.Checked) j++;
                            if (checkBox11.Checked) j++;
                            if (checkBox12.Checked) j++;
                            if (checkBox13.Checked) j++;
                            if (checkBox14.Checked) j++;
                            if (checkBox15.Checked) j++;
                            if (checkBox16.Checked) j++;
                            if (checkBox17.Checked) j++;
                            if (checkBox18.Checked) j++;
                            if (checkBox24.Checked) j++;
                            if (checkBox42.Checked) j++;
                            if (checkBox43.Checked) j++;
                            if (checkBox44.Checked) j++;
                            if (checkBox45.Checked) j++;

                            for (int m = j; m < 17; m++)
                            {
                                NewExcelWorkSheet.Cells[ProductReturnRawData.Count + 10 + m, 1] = Convert.ToString(CheckBox[j].checked.Text);
                            }
4

1 回答 1

1

Locke 使用 CheckedListBox 的建议是有道理的,但如果你绝对不能,你将不得不这样做:

if(checkBox7.Checked)
    doSomethingWith(checkBox7.Text);

等等。我无法通过查看 NewExcelWorkSheet 来判断您要做什么,因为结果将不一致。

要创建所选文本的字符串列表:

List<string> myStringList = new List<string>;
if(checkBox7.Checked)
    myStringList.Add(checkBox7.Text);
if(checkBox8.Checked)
    myStringList.Add(checkBox8.Text);

等等,然后,一旦你完成了所有 17 个复选框,在列表上执行一次 foreach 迭代,将其移动到 NewExcelWorkSheet 中。请注意,您当然可以将其直接传输到 NewExcelWorkSheet 并跳过整个列表。

于 2013-10-09T19:20:31.957 回答