0

カスタムUserControlでListViewItemsを手動で描画しようとしています。コントロール自体は、クラスのプライベートメンバーとして保存されているListViewのラッパーです。

これらのアイテムを手動で描画できるように、DrawListViewItemEventHandlerがアタッチされており、ほとんどの場合、これは機能しているようです。私が抱えている問題は、ListViewItemのテキスト(大きな画像モード)が長い場合です。

さまざまなテーマでListViewItemの周囲に長方形を描画し、Graphics.MeasureString()を使用してテキストのサイズを測定し、手動でテキストを描画します。ただし、私が見つけたのは、キャプションが渡されたグラフィックスコンテキストのVisibleClipBoundsの外にあるため、垂直方向の描画が2.5行のテキストでトリミングされていることです。

少し奇妙に思えますが、なぜそのようなことが起こるのかわからず、問題を回避する方法がわかりません。

4

1 に答える 1

0

TileビューとTileSizeを使用して、テキストを描画するのに十分なスペースを確保できます。

ListViewは、すべてのテキストを描画することを保証できません。テキストが巨大になる可能性があります。

于 2009-05-13T10:14:49.957 に答える