using Rs.Controls; using Rs.DataAccess; using Rs.Motion.Base; using Rs.Motion.Base.Config; using Rs.Motion.GugaoEcat; using Rs.Motion.GugaoPulse; 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() { TabControlEx tabControl = new TabControlEx(); tabControl.Dock = DockStyle.Fill; tabControl.Alignment = TabAlignment.Top; tabControl.DrawMode = TabDrawMode.OwnerDrawFixed; SqliteHelper db = new SqliteHelper(); Type type = typeof(AxisControl); PropertyInfo[] pis = type.GetProperties(BindingFlags.Public | BindingFlags.Static); foreach (var item in pis) { axisNames.Add(item.Name); } string querySql = "select * from motioncard where CardType='Motion' and enable=1"; DataTable dt=db.GetDataTable(querySql); if(dt!=null&& dt.Rows.Count>0) { foreach (DataRow row in dt.Rows) { ICard card = new ICard(); switch (row["vender"].ToString().ToLower()) { case "ztm": card = ZtmCardManager.Instance.GetCard(short.Parse(row["cardid"].ToString())); break; case "gugaoecat": card = GugaoCardManager.Instance.GetCard(0); break; case "gugao": card = GugaoPulseCardManager.Instance.GetCard(ushort.Parse(row["cardid"].ToString())); break; default: break; } TabPage tp = new TabPage(); tp.BackColor = Color.Black; tp.ForeColor = Color.White; tp.Height = 50; tp.Text = row["aliasname"].ToString(); //tp.Text = "" + row["vender"] + row["cardid"]; tabControl.TabPages.Add(tp); TableLayoutPanel tableLayoutPanel = new TableLayoutPanel(); tableLayoutPanel.RowCount = 12; tableLayoutPanel.Padding = new Padding(3); tableLayoutPanel.ResumeLayout(); int i = 1; foreach (AxisConfig ac in card.Config.AxisConfigs) { tableLayoutPanel.RowStyles.Add(new RowStyle(SizeType.Absolute, 60)); 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; axisMove1.BindAxis(ac.Axis); axisProperty1.BindAxis(ac.Axis); }; button.Cursor = Cursors.Hand; button.ShowText = ac.AxisName; 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; i++; } tp.Controls.Add(tableLayoutPanel); } } panelLeft.Controls.Add(tabControl); } private void MonitorConfig_Load(object sender, EventArgs e) { } } }