internal override void Attach(IFileDialogCustomize dialog) { Debug.Assert(dialog != null, "CommonFileDialogComboBox.Attach: dialog parameter can not be null"); // Add the combo box control dialog.AddComboBox(this.Id); // Add the combo box items for (int index = 0; index < items.Count; index++) { dialog.AddControlItem(this.Id, index, items[index].Text); } // Set the currently selected item if (selectedIndex >= 0 && selectedIndex < items.Count) { dialog.SetSelectedControlItem(this.Id, this.selectedIndex); } else if (selectedIndex != -1) { throw new IndexOutOfRangeException(LocalizedMessages.ComboBoxIndexOutsideBounds); } // Make this control prominent if needed if (IsProminent) { dialog.MakeProminent(this.Id); } // Sync additional properties SyncUnmanagedProperties(); }
/// <summary> /// Attach the ComboBox control to the dialog object /// </summary> /// <param name="dialog">The target dialog</param> internal override void Attach(IFileDialogCustomize dialog) { Debug.Assert(dialog != null, "CommonFileDialogComboBox.Attach: dialog parameter can not be null"); // Add the combo box control dialog.AddComboBox(this.Id); // Add the combo box items for (int index = 0; index < items.Count; index++) dialog.AddControlItem(this.Id, index, items[index].Text); // Set the currently selected item if (selectedIndex >= 0 && selectedIndex < items.Count) { dialog.SetSelectedControlItem(this.Id, this.selectedIndex); } else if (selectedIndex != -1) { throw new IndexOutOfRangeException("Index was outside the bounds of the CommonFileDialogComboBox."); } // Make this control prominent if needed if (IsProminent) dialog.MakeProminent(this.Id); // Sync additional properties SyncUnmanagedProperties(); }