2008-08-26 8 views
4

私たちのプロジェクトSharpWiredでは、FirefoxやSafariのダウンロードウィンドウと同様のダウンロードコンポーネントを作成しようとしています。つまり、プログレスバー、ボタンなどを含むカスタムコントロールであるダウンロードの1つのトップダウンリストです。WindowsフォームとC#のコントロールの動的なトップダウンリスト?

必要条件は、各行に1つの要素を持つ単一のリストが1つ必要であることです。各要素はカスタムコントロールでなければなりません。リスト全体を動的にサイズ変更する必要があるため、必要に応じてスクロールバーを追加し、カスタムコントロールをリストの幅に合わせて細かくする必要があります。

FlowLayoutPanelを使用しようとしましたが、私たちが望むように動作するようにサイズを変更していません。好ましくは、カスタムコントロールの固定をLeft &右に設定するだけでよい。 TableLayoutPanelを使用することも考えましたが、これまで動的に行を追加すると負荷が大きくなりすぎていました。

これは非常に一般的な使用例でなければならず、FlowLayoutPanelには直感的なやり方がありません。 誰かが似たようなことをやったことがありますか?

乾杯!
/adam

答えて

2

上記のようにDataRepeaterコントロールを介してデータバインディングを使用しない場合は、通常のPanelコントロールを使用し、そのAutoScrollプロパティをtrueに設定してスクロールバーを有効にすることができます。

次に、カスタムコントロールを手動で追加し、それぞれのプロパティをTopに設定することができます。

+0

それは私たちがやってきたことです。データバインディングソリューションは、あまりにも多くのオーバーヘッドです。 –

1

.NET 3.5 SP1では、好きなように聞こえるように聞こえるWindowsフォームコントロールDataRepeaterが導入されました。それを「ダウンロード」(またはあなたのリストが表すもの)のリストにバインドし、必要なコントロールを含むように各アイテムパネルをカスタマイズします。

+0

このコントロールはVisualBasic Power Packにあります。どのように私はCでそれを使用するでしょうか? –

+0

@Adamいいえ、それはVisualBasic名前空間内にあります。任意のすべての.NET言語から使用することができ、.NET 3.5 SP1以降のフレームワークの一部です。 –

+0

私が知る限り、あなたのソリューションでアセンブリを参照するだけで、その中のメソッドを通常通り使用することができます。コンパイルされた.Netアセンブリは、相互にシームレスに相互運用できます。もちろん、私はこの集会の具体的な経験はありません。私はこの事例で今述べたことは保証できません。 :) – ZombieSheep

関連する問題