ListView を使用するプロジェクトがあります。ユーザーはリストビュー (詳細モードで設定) から何かを選択できます。場合によっては、はい/いいえの確認を求めるメッセージ ボックスが表示されます。確認コードは、ListView または選択を変更しません。コードは SelectedIndexChanged イベント ハンドラーにあります。
問題はこれです-ポップアップを作成する選択をすると、プログラムは最初は期待どおりに動作します。マウスをリストビューに戻した瞬間に、選択がマウスの下のシンボルに変更されます (クリックせずに) - 「HoverSelect」がオンになっているように (オンになっていない場合)。これは、MessageBox のポップアップを含む選択を行った後にのみ発生します。
何かを壊したと思って、簡単なテストを書くことにしました。ハードコーディングされた値を使用してリスト ビューを作成し、次のコードを挿入しました。
private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
listView1.Enabled = false;
MessageBox.Show("Test");
listView1.Enabled = true;
}
選択すると、イベントが 2 回発生します。それが私の元の問題に関連しているのか、それとも単なる偶然の一致なのかはわかりません。
追加:そこにある私のテスト例では、次のことが起こります:
1 番目の選択 - 「テスト」 2 番目の選択 - 「テスト」 「テスト」 3 番目の選択 - 「テスト」 「テスト」
ですから、それは私の主な問題の別の側面だと思います。リストビューを無効/有効にするコードを削除しても違いはありません。
MessageBox と ListView を互いに「うまく機能させる」にはどうすればよいですか?