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