using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using Bro.Common.Interface; using Bro.Common.Base; using Bro.Common.Model; namespace Bro.UI.Device.Winform { public partial class CtrlMotionCardRunBase : UserControl, IRunCtrl { public CtrlMotionCardRunBase() { InitializeComponent(); } public CtrlMotionCardRunBase(IDevice device) { InitializeComponent(); Device = device; InitialLayout(); } public IDevice Device { get; set; } protected MotionCardBase MotionCard { get => Device as MotionCardBase; } //private void MotionCard_OnMonitorInvoke(DateTime arg1, string arg2, IDevice arg3, IMonitorSet arg4) //{ // throw new NotImplementedException(); //} private void InitialLayout() { foreach (var axisConfig in MotionCard.IConfig.AxisSettings.FindAll(u => u.IsAxisEnabled)) { CtrlMotionCardAxisStatus ctrlMotionCardAxisStatus = new CtrlMotionCardAxisStatus(Device, axisConfig.AxisIndex, axisConfig.AxisName); flowLayoutPanel1.Controls.Add(ctrlMotionCardAxisStatus); } CtrlMotionCardIOStatus ctrlMotionCardIOStatus = new CtrlMotionCardIOStatus(Device); //ctrlMotionCardIOStatus.Dock = DockStyle.Fill; //flowLayoutPanel内部控件 不要dock fill flowLayoutPanel2.Controls.Add(ctrlMotionCardIOStatus); } private void buttonMotionCardOperation_Click(object sender, EventArgs e) { FrmMotionCardOperationBase motionCardOperationBase = new FrmMotionCardOperationBase(Device); motionCardOperationBase.Show(); } } }