C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: Comboboxが沢山ある画面を早く起動したい


(過去ログ 108 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■64424 / inTopicNo.1)  Comboboxが沢山ある画面を早く起動したい
  
□投稿者/ 餅 (1回)-(2012/11/30(Fri) 22:45:33)

分類:[VB.NET/VB2005 以降] 

はじめまして、宜しくお願いします。
VS2008 Vb.netでWindowsFormを作成しています。


子画面.ShowDialog(Me)

として画面が開く際に20秒くらい時間がかかります。
子画面にはComboboxが沢山あります。

Combobox     30個
Comboboxのリスト 40件

色々試した結果、子画面のComboBoxの描写が遅い様なのですが、何か策はありませんでしょうか?


子画面は以下のコントロールが貼ってあります。
Panel1
→パネル内にCombobox×30個
→パネル内にLabel×30個
Panel2
 →Button×2個


Comboboxのリストを
 20件に減らす →10秒
 10件に減らす →5秒

上記からComboboxの描写が遅いのだとはおもうのですが、対処法が思いつきません。

リストデータはOracleへ接続にいきますが、
ShowDialogの前で取得処理をおこなっているため、
直接的な原因ではないと想像しています。
(1回目リストデータ取得後に、SQL周りをコメントアウトして
 閉じる→子画面開く⇒閉じる→… を繰り返しましたが、早さは変わりませんでした)


ShowDialogまでのざっとした流れですが


fm = New Form1(Me)
fm.SetData()    ※コンボボックスへのリストセットなどを書いてます
fm.ShowDialog(Me)  ※ここから子画面.Shownまでが20秒かかる


アドバイスを宜しくお願いします。
引用返信 編集キー/
■64438 / inTopicNo.2)  Re[1]: Comboboxが沢山ある画面を早く起動したい
□投稿者/ pang2 (7回)-(2012/12/03(Mon) 11:30:58)
「VB.NET Combobox 高速化」でググる
引用返信 編集キー/
■64441 / inTopicNo.3)  Re[1]: Comboboxが沢山ある画面を早く起動したい
□投稿者/ 紫薔薇 (2回)-(2012/12/03(Mon) 16:39:12)
No64424 (餅 さん) に返信

例えばこれですね。
http://blog.all-connect.jp/2010/03/vbnetcombobox.html
引用返信 編集キー/
■64486 / inTopicNo.4)  Re[1]: Comboboxが沢山ある画面を早く起動したい
□投稿者/ shu (119回)-(2012/12/05(Wed) 10:41:36)
No64424 (餅 さん) に返信

効果があるか分かりませんが
(1)画面表示時はリスト項目を初期選択値のみ設定
(2)最初のDropDownイベントにてリストデータを設定
というのはどうでしょう?
リストデータが多い場合別画面表示後に別スレッドにてデータ読み込みを
開始してもよいかもしれません。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -