using Rs.Controls; using Rs.Motion.Base; using Rs.MotionPlat.Flow; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Rs.MotionPlat { public partial class MonitorConfig : BaseForm { List axisButtons = new List(); private List axisNames = new List(); public MonitorConfig() { InitializeComponent(); LoadLeftMenu(); } void LoadLeftMenu() { Type type = typeof(AxisControl); PropertyInfo[] pis = type.GetProperties(BindingFlags.Public | BindingFlags.Static); foreach (var item in pis) { axisNames.Add(item.Name); } //string[] axisNames = new[] { //"PressZ", //"LoadY", //"TestY", //"TestZ", //"LoadX", //"VacZ1", //"VacR1", //"VacZ2", //"VacR2" //}; TabControlEx tabControl = new TabControlEx(); tabControl.Dock = DockStyle.Fill; tabControl.Alignment = TabAlignment.Top; tabControl.DrawMode = TabDrawMode.OwnerDrawFixed; for (int card = 0; card < 1; card++) { TabPage tp = new TabPage(); tp.BackColor = Color.Black; tp.ForeColor = Color.White; tp.Height = 50; tp.Text = "Card" + card; TableLayoutPanel tableLayoutPanel = new TableLayoutPanel(); tableLayoutPanel.RowCount = 10; tableLayoutPanel.Padding = new Padding(3); tableLayoutPanel.ResumeLayout(); for (int i = 1; i <= axisNames.Count; i++) { tableLayoutPanel.RowStyles.Add(new RowStyle(SizeType.Absolute, 50)); if (i == axisNames.Count+1) break; ButtonEx button = new ButtonEx(); button.UnSelectedColor = Color.Black; button.Selected = false; axisButtons.Add(button); button.Click += (s, e) => { ButtonEx btn = (ButtonEx)s; axisButtons.ForEach((b) => { b.Selected = false; }); btn.Selected= true; IAxis a = AxisControl.GetAxis(btn.ShowText); axisMove1.BindAxis(a); axisProperty1.BindAxis(a); }; button.Cursor = Cursors.Hand; button.ShowText = axisNames[i-1]; button.FlatStyle = FlatStyle.Flat; button.Dock = DockStyle.Fill; button.FlatAppearance.MouseOverBackColor = Color.Green; button.ForeColor = Color.White; button.Padding = new Padding(0); button.Margin = new Padding(0); button.Font = new Font("微软雅黑", 16); tableLayoutPanel.Controls.Add(button, 0, i - 1); tableLayoutPanel.Dock = DockStyle.Fill; } tp.Controls.Add(tableLayoutPanel); tabControl.TabPages.Add(tp); } panelLeft.Controls.Add(tabControl); } } }