public SettingForm() { InitializeComponent(); m_SettingItems = new SettingPanelItem[(int)SettingPanelType.End]; m_SettingItems[(int)SettingPanelType.DiffCompare] = new SettingPanel_DiffCompare(this, "差异比较", m_DiffComparePanal); m_SettingItemListBox.Items.Clear(); for (int itemIdx = 0; itemIdx < m_SettingItems.Length; itemIdx++) { SettingPanelItem settingItem = m_SettingItems[itemIdx]; Trace.Assert(settingItem != null, "设置项(" + (SettingPanelType)itemIdx + ")没有初始化"); m_SettingItemListBox.Items.Add(settingItem.Text); settingItem.MainPanel.Visible = false; settingItem.MainPanel.Dock = DockStyle.Fill; } m_SettingItemListBox.SelectedIndex = 0; }
private void OnSettingPanelListBox_SelectedValueChanged(object sender, EventArgs e) { int selectedIndex = ((ListBox)m_SettingItemListBox).SelectedIndex; for (int itemIdx = 0; itemIdx < m_SettingItems.Length; itemIdx++) { SettingPanelItem settingItem = m_SettingItems[itemIdx]; if (selectedIndex == itemIdx) { settingItem.MainPanel.Visible = true; settingItem.Show(); } else { settingItem.MainPanel.Visible = false; settingItem.Hide(); } } }