7

ListView コントロールがあり、選択した行を非表示にせずに、選択した行の変更を禁止する最も簡単で最良の方法を見つけようとしています。

HideSelectionプロパティがあることは知っていますが、それListViewはまだ有効になっている (ただしフォーカスされていない) 場合にのみ機能します。ListView が無効になっている場合でも、選択範囲を表示できるようにする必要があります。

どうすればこれを実装できますか?

4

3 に答える 3

2

ListView の ownerdraw を作成することもできます。次に、アイテムが選択されているかどうか、または ListView 自体が有効かどうかにかかわらず、アイテムの外観を完全に制御できます。DrawListViewItemEventArgs は、ListView に項目の個々の部分を描画するように依頼する方法を提供するので、関心のあるビットのみを描画する必要があります。テキスト。

于 2008-09-02T21:12:48.600 に答える
1

2 つのオプションがあり、選択した行の無効な色を変更します。または、他のすべての行を変更して、選択した行を除いて無効になっていることをシミュレートします。最初のオプションは明らかに最も簡単で、2 番目のオプションは明らかに追加の保護が必要です。

私は実際に最初のオプションを以前に実行したことがありますが、それは非常にうまく機能します。後で別の行が選択された場合に備えて、色をデフォルトに戻すことを忘れないでください。

于 2008-08-18T01:01:35.790 に答える
0

SelectedIndexChanged を実装してこれを行う

    private void listViewABC_SelectedIndexChanged(object sender, EventArgs e)
    {
        listViewABC.SelectedItems.Clear();
    }
于 2009-07-07T06:40:35.400 に答える