using Rs.Framework; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Runtime.Remoting; using System.Security.Claims; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Rs.Controls { /// /// 穴位偏移控件 /// public partial class SlotOffsetCtl : UserControl { public event Action SlotValueChanged; public int RowNum { get; set; } = 9; public int ColumnNum { get; set; } = 10; public string TrayName { get; set; } public DataTable DataSource { get; set; } private RectangleF selectRect; private Dictionary xDic = new Dictionary(); private Dictionary yDic = new Dictionary(); private Dictionary txtXDic = new Dictionary(); private Dictionary txtYDic = new Dictionary(); public SlotOffsetCtl() { InitializeComponent(); selectRect = new RectangleF(); } private void SlotOffsetCtl_Load(object sender, EventArgs e) { if(ObjectHelper.IsNotNullorEmpty(DataSource)) { foreach (DataRow dataRow in DataSource.Rows) { xDic.Add(int.Parse(dataRow["slotindex"].ToString()), double.Parse(dataRow["offsetx"].ToString())); yDic.Add(int.Parse(dataRow["slotindex"].ToString()), double.Parse(dataRow["offsety"].ToString())); } } tableLayoutPanel1.CellBorderStyle = TableLayoutPanelCellBorderStyle.Single; //tlpColHeader.CellBorderStyle = TableLayoutPanelCellBorderStyle.Single; //tlpRowHeader.CellBorderStyle = TableLayoutPanelCellBorderStyle.Single; tableLayoutPanel1.RowStyles.Clear(); tableLayoutPanel1.ColumnStyles.Clear(); tlpColHeader.RowStyles.Clear(); tlpColHeader.ColumnStyles.Clear(); tlpRowHeader.RowStyles.Clear(); tlpRowHeader.ColumnStyles.Clear(); float colpercent = 100 / ColumnNum; float rowpercent = 100 / RowNum; tableLayoutPanel1.ColumnCount= ColumnNum; tableLayoutPanel1.RowCount= RowNum; tlpColHeader.ColumnCount = ColumnNum; tlpColHeader.RowCount = 1; tlpRowHeader.ColumnCount = 1; tlpRowHeader.RowCount = RowNum; for (int i=0;i