1

ListView 内の 1 つまたは 2 つの項目に対してのみオーナー ドローを実装したいと考えています。

物件は見つかったDrawListViewItemEventArgs.DrawDefaultが、用途がはっきりしない。このプロパティのMSDN の例では、その値が出力されるだけであり、その使用方法を理解するにはまったく役に立ちません。

このプロパティを設定する必要がDrawItem()ありますか?

4

2 に答える 2

1

私の記憶が正しく私に役立つなら、あなたはこのようなことをする必要があります:

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
}
于 2012-07-30T18:04:21.093 に答える
1

通常のリストビュー アイテムの描画を行う場合にのみ、これを true に設定する必要があります。これは、DrawItem イベント ハンドラーが戻った後に発生します。そして、あなたが描いたものは何でも描き過ぎます。

これは一般的ではありません。通常、イベントを実装してアイテムを別の方法で描画します。これにより、デフォルト値の false が通常の使用法になり、イベント ハンドラーが完了した後、それ以上の描画は行われません。

于 2012-07-30T18:05:39.970 に答える