本記事は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:

コメント