private void LoadSettingControls(ConfigData configData) { var settingControls = new List <ISettingControl>(); tabCategories.SuspendLayout(); tabCategories.Hide(); tabCategories.TabPages.Clear(); foreach (var category in configData.SettingCategories.Values) { tabCategories.TabPages.Add(SettingCategoryTabPage.Create(category, toolTip, cmGameSetting, c => settingControls.Add(c))); } tabCategories.ResumeLayout(); tabCategories.Show(); foreach (var setting in _settingControls) { if (setting.HasValue) { settingControls.UpdateByKey(setting.Model.Key, setting.Value); } } DisposableUtils.Dispose(_settingControls); _settingControls = settingControls; bool anyDataAvailable = settingControls.Count != 0; btnSave.Enabled = anyDataAvailable; btnResetAll.Enabled = anyDataAvailable; btnResetPage.Enabled = anyDataAvailable; }
/// <summary> /// Clean up any resources being used. /// </summary> /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> protected override void Dispose(bool disposing) { if (disposing) { components?.Dispose(); var valueDataSource = cbValue.DataSource; cbValue.DataSource = null; DisposableUtils.Dispose(valueDataSource); } base.Dispose(disposing); }
private void InitLanguageCombobox(ComboBox combobox) { combobox.BindingContext = BindingContext; combobox.DisplayMember = "Value"; combobox.ValueMember = "Key"; var prevDataSource = combobox.DataSource; combobox.DataSource = new BindingSource(Program.GetSupportedUiLanguages(), null); DisposableUtils.Dispose(prevDataSource); combobox.SelectedValue = Program.Settings.Language; }
/// <summary> /// Clean up any resources being used. /// </summary> /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> protected override void Dispose(bool disposing) { if (disposing) { components?.Dispose(); DisposableUtils.Dispose(_settingControls); _settingControls = null; var profilesSource = cbProfiles.DataSource; cbProfiles.DataSource = null; DisposableUtils.Dispose(profilesSource); } base.Dispose(disposing); }
private void SetProfilesList(IEnumerable <string> profiles) { var profilesSource = cbProfiles.DataSource; if (profiles.Any()) { cbProfiles.DataSource = new BindingSource(profiles, null); } else { cbProfiles.DataSource = null; } DisposableUtils.Dispose(profilesSource); }