私がこのように記入するWinフォームのリストボックスをチェックした場合
List<Tasks> tasks = db.GetAllTasks();
foreach (var t in tasks)
tasksCheckedListBox.Items.Add(t.Name);
taskCheckedListBox.Itemsを繰り返し、いくつかのチェックボックスをチェック済みとして設定するにはどうすればよいですか?
ありがとう
私がこのように記入するWinフォームのリストボックスをチェックした場合
List<Tasks> tasks = db.GetAllTasks();
foreach (var t in tasks)
tasksCheckedListBox.Items.Add(t.Name);
taskCheckedListBox.Itemsを繰り返し、いくつかのチェックボックスをチェック済みとして設定するにはどうすればよいですか?
ありがとう
addメソッドは、オプションのIsCheckedパラメーターを取ります。次に、オブジェクトを正しい状態でチェックリストボックスに追加できます。
List<Tasks> tasks = db.GetAllTasks();
foreach (var t in tasks)
tasksCheckedListBox.Items.Add(t.Name, isChecked);
または、次のようにアイテムを追加した後、アイテムのチェック状態を変更できます。
foreach(var task in tasks)
{
tasksCheckedListBox.SetItemChecked(clb.Items.IndexOf(task), isChecked);
}
アイテムが追加された後にそれを実行したい場合は、MSDNに例があります
ここにコピー:
private void CheckEveryOther_Click(object sender, System.EventArgs e) {
// Cycle through every item and check every other.
// Set flag to true to know when this code is being executed. Used in the ItemCheck
// event handler.
insideCheckEveryOther = true;
for (int i = 0; i < checkedListBox1.Items.Count; i++) {
// For every other item in the list, set as checked.
if ((i % 2) == 0) {
// But for each other item that is to be checked, set as being in an
// indeterminate checked state.
if ((i % 4) == 0)
checkedListBox1.SetItemCheckState(i, CheckState.Indeterminate);
else
checkedListBox1.SetItemChecked(i, true);
}
}
insideCheckEveryOther = false;
}