が、それは私が他のカスタムコントロール(単にボタン、3枚のラベルやオーバーレイピクチャと各)の束を入れてその中にFlowLayoutPanel、だスーパー遅いC#のカスタムコントロール
それは大丈夫作品約100個のボタンが付いていますが、1000個に達していて困っています。バンプ5000まで、それはちょうど20秒後に死ぬ。
私はカスタムコードがほとんどなく、レイアウトを中断して再開することを賢明に行います。
どうしたのですか?私の(かなり速い)コンピュータは数千のボタンとラベルを扱えるはずです。
(私はC#のGUIのものにかなり新しいですので、おそらく私はとにかく完全に異なることをやってする必要があります。)
編集1:
これはかなり現時点で唯一のカスタムコードです:
flowLayoutPanel1.SuspendLayout();
foreach (DataRow row in dt.Rows) // dt is from a DB query
{
flowLayoutPanel1.Controls.Add(new PersonButton(row));
}
flowLayoutPanel1.ResumeLayout();
とPersonButtonコンストラクタで:
this.label1.Text = row["FirstName"].ToString().Trim() + " "
+ row["Surname"].ToString().Trim();
(また、画像は添付のが、私は誰もがそれを見ることができるかどうかはわからないがあるはずです。)
編集2:
私は本当にDataGridViewの、またはリストビューを使用する必要がありますね、私はより多くを望んでいました1行のテキストと1行あたりの小さなアイコン。 firefox(Ctrl + J)のダウンロードビューに似ていると思った。 (スクリーンショットを参照)
あなたのご意見は大変ありがとうございます。私はあなたがレイアウトコードの一部をポストする必要がありますか、我々はすべてで/多くのを助けることができなくなります
alt text http://img156.imageshack.us/img156/1057/capture.png
あなたは、このカスタムコントロールではなく、ユーザーコントロールですか?あなたがユーザーコントロールを作ったようですね。 – recursive
"なんで私は間違っているの?" フォームに1000のボタンを表示します。 –
ページのナビゲーションの概念を使用しよう –