大量の項目をコレクションに追加する場合、 BeginUpdate メソッドを使用し、リストに項目が1つ追加されるたびにコレクションの内部状態が更新されないようにする必要があります。リストへの項目の追加タスクが完了したら、 C1.Win.C1Ribbon.RibbonItemCollectionBase.EndUpdateメソッドを呼び出して通常の処理を再開します。
この項目の追加方法により、パフォーマンスが大幅に向上します。10 または 20 を超える数の項目をリストに追加する場合にお勧めします。
次のコードは、 C1.Win.C1Ribbon.RibbonComboBoxにシステム内にインストールされている すべてのフォント名を含む項目を読み込みます。
サンプルをそのままの形で実行してから、 BeginUpdate と EndUpdate への呼び出しを コメントアウトし、パフォーマンスの違いを調べることができます。
// 読み込むコレクションを取得します RibbonItemCollection items = fontNameComboBox.Items; // BeginUpdate を呼び出して通常の処理を保留します items.BeginUpdate(); // リストを読み込みます InstalledFontCollection ifc = new InstalledFontCollection(); foreach (FontFamily ff in ifc.Families) { items.Add(new RibbonOption(ff.Name)); } // 通常の処理を再開します items.EndUpdate();