using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using DBFactory; using System.Net.Sockets; using System.Threading; using System.Linq; using Microsoft.VisualBasic; using System.IO.Ports; using System.Resources; using System.Drawing.Drawing2D; namespace wcfControlMonitorClient { /// /// Creator:Richard.liu /// 调度程序主窗口 /// public partial class FrmControlMonitor : WeifenLuo.WinFormsUI.Docking.DockContent { StringBuilder sql = new StringBuilder(); Model.MDevice devinfo; FrmDeviceStatus _deviceStatus = new FrmDeviceStatus(); DBFactory.DBOperator dbo = CStaticClass.dbo; DBFactory.DBOperator dbo1 = new DBFactory.DBOperator(); private static FrmControlMonitor _formInstance; public static FrmControlMonitor FormInstance { get { if (_formInstance == null) { _formInstance = new FrmControlMonitor(); } return _formInstance; } set { _formInstance = value; } } public FrmControlMonitor() { InitializeComponent(); //this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; ////设定字体大小为12px //this.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel, ((byte)(134))); _formInstance = this; } #region 方法 public void FlashPanit(string obj, bool visible) { this.Controls[obj].Visible = visible; } public void FlashPanit(string obj, Image backgroundImage) { this.Controls[obj].BackgroundImage = backgroundImage; } public void FlashPanit(string obj, ImageLayout backgroundImageLayout) { this.Controls[obj].BackgroundImageLayout = backgroundImageLayout; } public void FlashPanit(string obj, int top, int left) { this.Controls[obj].Top = top; this.Controls[obj].Left = left; } public void FlashPanit(string obj, string text, bool append) { if (append == true) { this.Controls[obj].Text += text; } else { this.Controls[obj].Text = text; } } public string GetObjectText(string obj) { return this.Controls[obj].Text; } public void MonitorRefresh(object dataSource) { #region Added by DingXiaoxu for Dock TaskList on 20101219 FrmTaskList.FormInstance.MonitorRefresh(dataSource); #endregion //this.dgvMonitor.DataSource = dataSource; ////20100108 //dataSource = null; } public void ManagerRefresh(object dataSource) { #region Added by DingXiaoxu for Dock TaskList on 20101219 FrmTaskList.FormInstance.ManagerRefresh(dataSource); #endregion //this.dgvManager.DataSource = dataSource; ////20100108 //dataSource = null; } #endregion protected override CreateParams CreateParams { get { CreateParams cp = base.CreateParams; cp.ExStyle |= 0x02000000;//WS_CLIPCHILDREN 两个窗体叠加时,重叠部分不重绘 return cp; } } private void timerFlash_Tick(object sender, EventArgs e) { string[] DS; char[] dd = new char[1] { '.' }; Model.MDevice device; TimeSpan ts = DateTime.Now.TimeOfDay; DataView dv; DataView dvJY; this.SuspendLayout(); //richard.liu20140806 try { //if (CStaticClass.WCFOK == true) { sql.Remove(0, sql.Length);//richard.liu20140806 sql.Append("SELECT F_DeviceIndex FROM T_Base_Device WHERE (F_LockedState = - 1) "); dvJY = dbo.ExceSQL(sql.ToString()).Tables[0].DefaultView;//richard.liu20140806 dvJY.Sort = "F_DeviceIndex"; Button stack1 = bt1_stacker1; Button stack2 = bt1_stacker2; Button stack3 = bt1_stacker3; TextBox tw1n = tb1_stacker1_Near; TextBox tw2n = tb1_stacker2_Near; TextBox tw3n = tb1_stacker3_Near; Panel pp = plAccessorial1; if (this.tabControl1.SelectedTab.Name == "tabPage1") { //pp = plAccessorial1; //stack1 = bt1_23034; //stack2 = bt1_stacker1; //tw1n = tb1_23034_Near; // tw1f = tb1_11001_Far; //tw2n = tb1_stacker1_Near; // tw2f = tb1_11002_Far; //tw3n = tb1_11003_Near; // tw3f = tb1_11003_Far; //stackInitX = 91; //StackInitXX = 9.8; } else if (this.tabControl1.SelectedTab.Name == "tabPage2") { // pp = panelWareHouse; // tw31005_1 = tb_31005_1_1; // tw31005_2 = tb_31005_1_2; // tw31006_1 = tb_31006_1_1; // tw31006_2 = tb_31006_1_2; //bigstack5 = bt_31005; //bigstack6 = bt_31006; //smallbarcode=6000; //bigbarcode=46000; //startadd2 = 705;//第一列图上坐标 //k2 = (double)(560 + 50) / (double)21385;//图上货架长度/货架实际长度(29944-8559) //startcode2 = 8559;//第一列对应的实际坐标 //startadd2 = 785;//第一列图上坐标 //k2 = (double)(781) / (double)29834;//图上货架长度/货架实际长度(38393-8559) //startcode2 = 8559;//第一列对应的实际坐标 } else if (this.tabControl1.SelectedTab.Name == "tabPage3") { //pp = InOutAreaPanel; //tw31005_1 = tb_31005_2_1; //tw31005_2 = tb_31005_2_2; //tw31006_1 = tb_31006_2_1; //tw31006_2 = tb_31006_2_2; //bigstack5 = bt_31005_2; //bigstack6 = bt_31006_2; //smallbarcode = 0; //bigbarcode = 10000000; //startadd2 = 701;//第一列图上坐标 ////startadd2 = 822;//第一列图上坐标 //k2 = (double)(691 + 8) / (double)28237;//图上货架长度/货架实际长度 79006-50769 ////k2 = (double)(820) / (double)42087;//图上货架长度/货架实际长度 79006-36919 //startcode2 = 50769;//第一列对应的实际坐标 ////startcode2 = 36919;//第一列对应的实际坐标 } #region 每层楼监视画面 foreach (Button ctrl in pp.Controls.OfType