作成日: 2017/08/25 最終更新日: 2017/08/25
文書種別
使用方法
詳細
ラッパーコンボコントロールで、AddやAddRangeメソッド等でItemsプロパティにコレクションを追加し、ドロップダウンリストに大量の項目を追加すると、コンボコントロールやラッパークラシックコンボコントロールに比べて大幅に時間がかかります。
この動作は、ラッパーコンボコントロールの構造上の理由によるものです。
ラッパーコンボコントロールへの項目追加の処理時間を短縮するには、以下のいずれかの方法を適用します。
◆データソースと連結して項目を追加する
以下のサンプルコードのように、DataSourceプロパティを使用して項目を設定します。
[Visual Basic]
◆BeginUpdateおよびEditUpdateメソッドを利用する
Itemsプロパティにコレクションを追加する処理の前後で、以下のサンプルコードのようにBeginUpdateおよびEndUpdateメソッドを実行します。
[Visual Basic]
この動作は、ラッパーコンボコントロールの構造上の理由によるものです。
ラッパーコンボコントロールへの項目追加の処理時間を短縮するには、以下のいずれかの方法を適用します。
◆データソースと連結して項目を追加する
以下のサンプルコードのように、DataSourceプロパティを使用して項目を設定します。
[Visual Basic]
' データテーブルを作成します。
Dim dt1 As New DataTable("List")
dt1.Columns.Add("Item")
' データテーブルに項目を追加します。
For i As Integer = 1 To 1000
dt1.Rows.Add("Item" + i.ToString())
Next
' データテーブルをDataSourceプロパティに設定します。
Combo1.DataSource = dt1
Combo1.ValueMember = "Item"
Combo1.DisplayMember = "Item"
[C#]// データテーブルを作成します。
DataTable dt1 = new DataTable("List");
dt1.Columns.Add("Item");
// データテーブルに項目を追加します。
for (int i=1; i<=1000; i++)
{
dt1.Rows.Add("Item" + i.ToString());
}
// データテーブルをDataSourceプロパティに設定します。
combo1.DataSource = dt1;
combo1.ValueMember = "Item";
combo1.DisplayMember = "Item";
◆BeginUpdateおよびEditUpdateメソッドを利用する
Itemsプロパティにコレクションを追加する処理の前後で、以下のサンプルコードのようにBeginUpdateおよびEndUpdateメソッドを実行します。
[Visual Basic]
' BeginUpdateメソッドを実行します。
Combo1.BeginUpdate()
' コンボコントロールに項目を追加します。
For i As Integer = 1 To 1000
Combo1.Items.Add("Item" + i.ToString())
Next
' EndUpdateメソッドを実行します。
Combo1.EndUpdate()
[C#]// BeginUpdateメソッドを実行します。
combo1.BeginUpdate();
// コンボコントロールに項目を追加します。
for(int i=1; i<=1000; i++)
{
combo1.Items.Add("Item" + i.ToString());
}
// EndUpdateメソッドを実行します。
combo1.EndUpdate();
関連情報
旧文書番号
40988