private void onDownClick(object sender, EventArgs e) { if (null == _selectedNavControl || _selectedNavControl.Idx == scrollableControl.Controls.Count - 1) { return; } bool swapNext = false; NavigationControl tempControl = null; var controlList = new List <NavigationControl>(); foreach (NavigationControl control in scrollableControl.Controls) { if (swapNext) { _selectedNavControl.Idx += 1; controlList.Add(_selectedNavControl); tempControl.Idx -= 1; controlList.Add(tempControl); swapNext = false; continue; } if (control.Idx == _selectedNavControl.Idx + 1) { tempControl = control; swapNext = true; continue; } controlList.Add(control); } _updateScrollableControls(controlList); }
public BiosItemControl(string key, BIOSConfig biosConfig) { InitializeComponent(); _biosConfig = biosConfig; this.labelBiosItem.Text = key; var navCount = biosConfig.navs.Count(); for (int i = navCount - 1; i >= 0; i--) { BIOSItem item = biosConfig.navs[i]; var navControl = new NavigationControl(item, this) { Idx = i }; this.scrollableControl.Controls.Add(navControl); navControl.Dock = DockStyle.Top; } }
public void UpdateSelectedNavControl(NavigationControl navControl) { if (null == _selectedNavControl) { _selectedNavControl = navControl; } foreach (NavigationControl control in this.scrollableControl.Controls) { control.IsSelected = !this._selectedNavControl.IsSelected; if (control.Idx == navControl.Idx) { this._selectedNavControl = navControl; control.IsSelected = true; } else { control.IsSelected = false; } } }