private void ListOptionsChanged(object sender, System.EventArgs e) { // sender var list = (ListBox)sender; // Close old _current?.Hide(); _current?.Closed(null); PanelInner.Controls.Clear(); // Open New _current = _options[(string)list.SelectedItem]; _current.Dock = DockStyle.Fill; PanelInner.Controls.Add(_current); _current.Shown(null); _current.Show(); }
public OptionsWindowController(params OptionsWindowBase[] options) { InitializeComponent(); _options = new Dictionary <string, OptionsWindowBase>(); foreach (var optionWindow in options) { var text = TextOrDefault(optionWindow); _options[text] = optionWindow; ListOptions.Items.Add(text); if (_options.Count == 1) { ListOptions.SelectedIndex = 0; _current = optionWindow; } } }