データベースからエントリを選択し、ファイルのリストをcheckedListBox2にロードして、データベース内のエントリに関連するファイルをチェックします。すべてcheckedListBox2sの形式です。チェックされている項目はデータベース エントリに関するものであり、チェックされていない項目は関係ありません。
問題は、checkedListBox2 の最初の項目 (インデックス 0) をクリックしてその項目をチェックすると、checkedListBox2.GetItemChecked() 関数が true ではなく false を返し、最初の項目のチェックを外すことです (私の SelectedIndexChanged イベントには項目のチェックを外すコード)。これは、その最初のアイテムを最初にクリックした場合にのみ発生します (別のアイテムの前にクリックすると、すべて正常に動作します)。また、最初の項目がチェックされていない場合、すべて正常に動作します。
private void checkedListBox2_SelectedIndexChanged(object sender, EventArgs e)
{
if (checkedListBox2.GetItemChecked(checkedListBox2.SelectedIndex) == true)
{
...
...
else
{
....
}
}
何が悪いのか理解できません。最初に問題はcheckedListBox2のロード中に発生するイベントにあると思いましたが、ロード後も同じ問題です。何か不足していますか?