-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

CheckedListBox を使用するという Locke の提案は理にかなっていますが、どうしてもできない場合は、次のようにする必要があります。

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 に答える