私はC#を.NETで学んでいるので(私はXNAフレームワークの経験が豊富です)、私はそれを正しい方法で使用しないかもしれません。C# - Comboboxの性能
私の問題は私の見解から非常に奇妙です。私はデザイナを使用して、その内部にTabControlでフォームを作成しました。これらのタブページの1つには、ListBoxとComboBoxがあります。 ComboBoxには、静的な数の項目があり、すべてComboBoxの初期化時に宣言されます。
ComboBoxをクリックするとコンテンツリスト(約30)が表示され、下にスクロールアップすると、アプリケーションのパフォーマンスが約1秒間多く低下します。これにより、ComboBoxがシロップとして遅くなり、これの上にリストボックスが表示されるように見えます。これは、再描画を待っているかのように1秒間白くなるためです。
私はComboBoxでループや他の重い処理を書いていません。すべてVisualStudio 2008によって自動的に書かれ、標準テンプレートコード+ボックス内の項目です。
EDIT:私が言ったように、唯一のコードはVS 2008によって生成され、ComboBoxには(Exeptが空の場合)メソッドはありません。ただし、コードはここにあります:
//
// comboBox1
//
this.comboBox1.DropDownHeight = 200;
this.comboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBox1.FormattingEnabled = true;
this.comboBox1.IntegralHeight = false;
this.comboBox1.Items.AddRange(new object[] {
"0",
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"A",
"B",
"C",
"D",
"E",
"F",
"G",
"H",
"I",
"J",
"K",
"L",
"M",
"N",
"O",
"P",
"Q",
"R",
"S",
"T",
"U",
"V",
"W",
"X",
"Y",
"Z"});
this.comboBox1.Location = new System.Drawing.Point(26, 362);
this.comboBox1.Name = "comboBox1";
this.comboBox1.Size = new System.Drawing.Size(101, 21);
this.comboBox1.TabIndex = 8;
this.comboBox1.SelectedIndexChanged += new System.EventHandler(this.comboBox1_SelectedIndexChanged);
ここで起こっていることについて誰でも洞察できますか?
コンボボックスにイベントが添付されていますか?いくつかのコードを投稿できますか? –
あなたが投稿したコードはうまくいくはずです - 通常、コンボボックスはあなたが記述したものに悩まされません。このコンボボックスだけで構成される新しいC#プロジェクトを作成しても、パフォーマンスはまだ悪いですか? –
いいえ、そうではありませんでした。下にその答えを作った:) – Vectovox