ListView 内の 1 つまたは 2 つの項目に対してのみオーナー ドローを実装したいと考えています。
物件は見つかったDrawListViewItemEventArgs.DrawDefault
が、用途がはっきりしない。このプロパティのMSDN の例では、その値が出力されるだけであり、その使用方法を理解するにはまったく役に立ちません。
このプロパティを設定する必要がDrawItem()
ありますか?
私の記憶が正しく私に役立つなら、あなたはこのようなことをする必要があります:
private void ListView1_DrawItem(Object sender, DrawListViewItemEventArgs e) {
if (mycustomdraw) // Do we need to draw it or use the default drawing
{
e.DrawDefault = false; // This may be set to false by default
// Draw the list item here
}
else
e.DrawDefault = true; // Tell the listview to use the default drawing
}
通常のリストビュー アイテムの描画を行う場合にのみ、これを true に設定する必要があります。これは、DrawItem イベント ハンドラーが戻った後に発生します。そして、あなたが描いたものは何でも描き過ぎます。
これは一般的ではありません。通常、イベントを実装してアイテムを別の方法で描画します。これにより、デフォルト値の false が通常の使用法になり、イベント ハンドラーが完了した後、それ以上の描画は行われません。