11

私はWindowsフォームアプリケーションに取り組んでいます。私check/uncheckはcheckedlistboxのすべてのチェックボックスをしたい。

チェックボックスを動的に生成するために次のコードを使用しています。

    var CheckCollection = new List<CheckedBoxFiller>();
    foreach (DataRow dr in dt.Rows)
        CheckCollection.Add(new CheckedBoxFiller {
                                Text = dr["ImageName"].ToString(),
                                Value = dr["ImageId"].ToString()
        });
    chklbEvidenceTags.DataSource = CheckCollection;
    chklbEvidenceTags.DisplayMember = "Text";
    chklbEvidenceTags.ValueMember = "Value";

これが CheckboxFiller クラスです

private class CheckedBoxFiller {
    public string Text { get; set; }
    public string Value { get; set; }
}

今、私はしたいですcheck/Uncheck all checkboxes。どうすればこれを達成できますか?

どんな助けでも役に立ちます。

4

4 に答える 4

22

解決策を見つけました。

 for (int i = 0; i < chklistbox.Items.Count; i++)
      chklistbox.SetItemCheckState(i, (state ? CheckState.Checked : CheckState.Unchecked));

stateboolen値です。

于 2012-10-25T06:54:05.740 に答える
3

コードの下に記述されたすべてのリスト項目をチェック/チェック解除します。

if (checkBox1.Checked)
    {
        for (int i = 0; i < chkboxlst.Items.Count; i++)
        {
            chkboxlst.SetItemChecked(i, true);
        }
    }
    else
    {
        for (int i = 0; i < chkboxlst.Items.Count; i++)
        {
            chkboxlst.SetItemChecked(i, false);
        }
    }
于 2016-03-22T13:23:30.037 に答える
-3

すべての listItems のチェックを外す/チェックするには、次のコードを実行します。

 boolean state =false;//False->Uncheck,true->Check

 for (int i = 0; i < chklistbox.Items.Count; i++)
      chklistbox.SetItemCheckState(i, (state ? CheckState.Checked : CheckState.Unchecked));
于 2014-12-18T13:17:45.467 に答える