You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

104 lines
3.5 KiB
C#

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<ButtonEx> axisButtons = new List<ButtonEx>();
private List<string> axisNames = new List<string>();
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);
}
}
}