5

Windows ネイティブ (テーマ対応) ヘッダー コントロールを使用して、一部の列ヘッダーのみを表示しようとしています。主な目的は、列ヘッダーを手動で描画することを避け、ネイティブでサポートされている機能に依存することです。

したがって、私が考えていた2つのオプションは次のとおりです。

  1. を使用しHeaderControl、それに列を追加します (WinForms でサポートされているヘッダー コントロールが見つからないようです)。

  2. コントロールを使用して、ListView行を表示しないように指示します (または基本的にその高さを列ヘッダーの高さに設定します) - コントロールに割り当てる高さを決定する方法が見つかりません。

どんな良いアイデアでも大歓迎です!

4

1 に答える 1

4

HeaderControlこれまでのところ、.NET フレームワークには WinFormsはありません( はクラスListViewを利用しますColumnHeaderが、これは でのみ有用ですListView)。Microsoft Windows のみをターゲットにしている場合は、Win32 コントロールをラップして .NET で使用できるようにすることを検討できますが、これはかなりの作業になると思います。

2番目のオプションは、やや不格好に感じますが、有効な可能性です. ヘッダーとヘッダーのみが表示されるように、リストのサイズを適切に調整する際に問題が発生することがわかります。

HeaderButton3 番目のオプションは、1 つの列 ( など) を表す独自のロールをColumnHeader作成し、テーマ描画呼び出しを使用してそれを描画し、それらをヘッダー バーFlowLayoutPanelまたはヘッダー バーに結合することTableLayoutPanelです。サイズを変更したい場合は、HeaderButton選択して幅を変更できるグラブ領域を に持たせることができます。

3 番目のオプションは、サイジング機能を備えていてもかなり簡単に作成できると思うので、その方法を取ることをお勧めします (今夜家に帰ったら、自分でやってみるかもしれません)。

于 2008-10-28T20:03:43.500 に答える