本記事はWindowsアプリケーションのTipsです。
ComboBoxで一度に多くの項目を追加しようとすると、すべてを表示するまでに長い時間を要する場合があります。これは1項目ずつ追加と描画が行われるためです。
項目を追加する前にBeginUpdateメソッドを実行し、項目の追加が終了したらEndUpdateメソッドを実行すると、描画パフォーマンスを上げることができます。
下記は描画パフォーマンスを上げる例です。
描画パフォーマンスの違いを確認したい場合は、BeginUpdateとEndUpdateをコメントにして実行してみてください。
VBの例
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click '再描画を回避するためにBeginUpdateメソッドを呼び出します ComboBox1.BeginUpdate() '5000アイテム追加する For I As Integer = 0 To 4999 ComboBox1.Items.Add(I) Next 'EndUpdateを呼び出し、再描画できるようにします ComboBox1.EndUpdate() End Sub
C#の例
private void button1_Click(object sender, EventArgs e) { //再描画を回避するためにBeginUpdateメソッドを呼び出します comboBox1.BeginUpdate(); //5000アイテム追加する for (int i = 0; i < 5000; i++) comboBox1.Items.Add(i); //EndUpdateを呼び出し、再描画できるようにします comboBox1.EndUpdate(); }
Please follow and like us:
コメント