次の方法で共有


ComboBox.BeginUpdate メソッド

ComboBox に項目が一度に 1 つずつ追加される場合のパフォーマンスを維持します。

Public Sub BeginUpdate()
[C#]
public void BeginUpdate();
[C++]
public: void BeginUpdate();
[JScript]
public function BeginUpdate();

解説

このメソッドを使用すると、コントロールは EndUpdate メソッドが呼び出されるまで描画できません。

ComboBox に項目を追加するには、 ComboBoxItems プロパティを使用してアクセスする ComboBox.ObjectCollection クラスの AddRange メソッドを使用する方法をお勧めします。これにより、項目の配列をリストに一度に追加できます。しかし、 ComboBox.ObjectCollection クラスの Add メソッドを使用して 1 つずつ項目を追加する場合は、 BeginUpdate メソッドを使用して、項目がリストに追加されるたびに ComboBox が再描画されるという状況を回避できます。項目をリストに追加するタスクが完了した後で、 EndUpdate メソッドを呼び出して ComboBox を再描画できるようにします。リストに多数の項目を追加する場合は、この方法で項目を追加すると、 ComboBox を描画するときにちらつきません。

使用例

[Visual Basic, C#, C++] BeginUpdate メソッドと EndUpdate メソッドの使い方の例を次に示します。この例は、 ComboBox クラスの概要トピックで示した実行可能なサンプル コードの一部です。

 
Private Sub addGrandButton_Click(ByVal sender As Object, ByVal e As System.EventArgs)
    comboBox1.BeginUpdate()
    Dim I As Integer
    For I = 0 To 1000
        comboBox1.Items.Add("New Item " + i.ToString())
    Next
    comboBox1.EndUpdate()
End Sub

[C#] 
private void addGrandButton_Click(object sender, System.EventArgs e) {
    comboBox1.BeginUpdate();
    for (int i = 0; i < 1000; i++) {
        comboBox1.Items.Add("New Item " + i.ToString());
    }
    comboBox1.EndUpdate();
}

[C++] 
private:
    void addGrandButton_Click(Object* /*sender*/, System::EventArgs* /*e*/) {
        comboBox1->BeginUpdate();
        for (int i = 0; i < 1000; i++) {
            comboBox1->Items->Add(String::Concat(S"New Item ", i.ToString()));
        }
        comboBox1->EndUpdate();
    }

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

ComboBox クラス | ComboBox メンバ | System.Windows.Forms 名前空間