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
{
/// <summary>
/// Creator:Richard.liu
/// ���ȳ���������
/// </summary>
public partial class FrmControlMonitor : WeifenLuo . WinFormsUI . Docking . DockContent
{
StringBuilder sql = new StringBuilder ( ) ;
Model . MDevice devinfo ;
FrmDeviceStatus _d eviceStatus = new FrmDeviceStatus ( ) ;
DBFactory . DBOperator dbo = CStaticClass . dbo ;
DBFactory . DBOperator dbo1 = new DBFactory . DBOperator ( ) ;
private static FrmControlMonitor _f ormInstance ;
public static FrmControlMonitor FormInstance
{
get
{
if ( _f ormInstance = = null )
{
_f ormInstance = new FrmControlMonitor ( ) ;
}
return _f ormInstance ;
}
set { _f ormInstance = 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)));
_f ormInstance = 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 ;
Button stack4 = bt1_stacker4 ;
Button stack5 = bt1_stacker5 ;
Button stack6 = bt2_stacker6 ;
//Button stack1_2 = bt2_stacker1;
//Button stack2_2 = bt2_stacker2;
//Button stack3_2 = bt2_stacker3;
//Button stack4_2 = bt2_stacker4;
//Button stack5_2 = bt2_stacker5;
TextBox tw1 = tb1_stacker1 ;
TextBox tw2 = tb1_stacker2 ;
TextBox tw3 = tb1_stacker3 ;
TextBox tw4 = tb1_stacker4 ;
TextBox tw5 = tb1_stacker5 ;
TextBox tw6 = tb2_stacker6 ;
//TextBox tw1_2 = tb2_stacker1;
//TextBox tw2_2 = tb2_stacker2;
//TextBox tw3_2 = tb2_stacker3;
//TextBox tw4_2 = tb2_stacker4;
//TextBox tw5_2 = tb2_stacker5;
Panel pp = plAccessorial1 ;
//double startadd2=0;//��һ��ͼ������
//double k2=0 ;//ͼ�ϻ��ܳ���/����ʵ�ʳ���
//double startcode2=0;//��һ�ж�Ӧ��ʵ������
if ( this . tab . SelectedTab . Name = = "tabPage1" )
{
pp = plAccessorial1 ;
stack1 = bt1_stacker1 ;
stack2 = bt1_stacker2 ;
stack3 = bt1_stacker3 ;
stack4 = bt1_stacker4 ;
stack5 = bt1_stacker5 ;
tw1 = tb1_stacker1 ;
tw2 = tb1_stacker2 ;
tw3 = tb1_stacker3 ;
tw4 = tb1_stacker4 ;
tw5 = tb1_stacker5 ;
}
#region tabPage2
else if ( this . tab . SelectedTab . Name = = "tabPage2" )
{
pp = plAccessorial2 ;
stack1 = bt2_stacker1 ;
stack2 = bt2_stacker2 ;
stack3 = bt2_stacker3 ;
stack4 = bt2_stacker4 ;
stack5 = bt2_stacker5 ;
tw1 = tb2_stacker1 ;
tw2 = tb2_stacker2 ;
tw3 = tb2_stacker3 ;
tw4 = tb2_stacker4 ;
tw5 = tb2_stacker5 ;
}
#endregion
#region tabPage3
else if ( this . tab . 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;//��һ�ж�Ӧ��ʵ������
}
#endregion
#region ÿ��¥���ӻ���
foreach ( Button ctrl in pp . Controls . OfType < Button > ( ) )
{
if ( ctrl . Enabled = = false ) continue ;
device = Model . CGetInfo . GetDeviceInfo ( Convert . ToInt32 ( ctrl . Tag ) ) ;
//if (device.DeviceIndex.ToString().IndexOf("13") == 0) continue;
//if (device.DeviceIndex.ToString().IndexOf("11") == 0) continue;
if ( device = = null )
{ //20100108
if ( tsStatus . Text . IndexOf ( ctrl . Name + "�ؼ���Ӧ���豸������" + ctrl . Tag + "�����ݿ�û�м�¼!" ) < 0 )
{
tsStatus . ForeColor = Color . Red ;
this . tsStatus . Text + = ctrl . Name + "�ؼ���Ӧ���豸������" + ctrl . Tag + "�����ݿ�û�м�¼!" ;
}
continue ;
}
//����ʾ���õĻ����Ѷ��� 20181008
#region ����
if ( device . DeviceKind = = 1 )
{ //�Ѷ���
switch ( device . DeviceIndex )
{
case 1 1 0 0 1 : // +46(880)/15 = 58.67
stack1 . Location = new Point ( ( int ) ( 7 0 8 + 2 3.2 * ( device . XCoor - 1 ) ) , stack1 . Location . Y ) ;
tw1 . Location = new Point ( stack1 . Location . X + 1 6 , tw1 . Location . Y ) ;
break ;
case 1 1 0 0 2 : //308 + 925/41=23.2
stack2 . Location = new Point ( ( int ) ( 3 0 8 + 2 3.2 * ( device . XCoor - 1 ) ) , stack2 . Location . Y ) ;
tw2 . Location = new Point ( stack2 . Location . X + 1 6 , tw2 . Location . Y ) ;
break ;
case 1 1 0 0 3 :
stack3 . Location = new Point ( ( int ) ( 3 0 8 + 2 3.2 * ( device . XCoor - 1 ) ) , stack3 . Location . Y ) ;
tw3 . Location = new Point ( stack3 . Location . X + 1 6 , tw3 . Location . Y ) ;
break ;
case 1 1 0 0 4 :
stack4 . Location = new Point ( ( int ) ( 3 0 8 + 2 3.2 * ( device . XCoor - 1 ) ) , stack4 . Location . Y ) ;
tw4 . Location = new Point ( stack4 . Location . X + 1 6 , tw4 . Location . Y ) ;
break ;
case 1 1 0 0 5 :
stack5 . Location = new Point ( ( int ) ( 3 0 8 + 2 3.2 * ( device . XCoor - 1 ) ) , stack5 . Location . Y ) ;
tw5 . Location = new Point ( stack5 . Location . X + 1 6 , tw5 . Location . Y ) ;
break ;
}
}
else if ( device . DeviceKind = = 4 )
{
switch ( device . DeviceIndex )
{
case 1 5 0 0 1 :
if ( device . XCoor = = 1 ) //22006
{
stack4 . Location = new Point ( stack4 . Location . X , 2 0 8 + 2 ) ;
}
else if ( device . XCoor = = 2 ) //12018
{
stack4 . Location = new Point ( stack4 . Location . X , 3 0 8 + 2 ) ;
}
else if ( device . XCoor = = 3 ) //22007
{
stack4 . Location = new Point ( stack4 . Location . X , 3 4 0 + 2 ) ;
}
else if ( device . XCoor = = 4 ) //12016
{
stack4 . Location = new Point ( stack4 . Location . X , 3 9 4 + 2 ) ;
}
else if ( device . XCoor = = 5 ) //22008
{
stack4 . Location = new Point ( stack4 . Location . X , 4 1 5 + 2 ) ;
}
else if ( device . XCoor = = 6 ) //22009
{
stack4 . Location = new Point ( stack4 . Location . X , 4 6 3 + 2 ) ;
}
else if ( device . XCoor = = 7 ) //22010
{
stack4 . Location = new Point ( stack4 . Location . X , 5 3 3 + 2 ) ;
}
else if ( device . XCoor = = 8 ) //12014
{
stack4 . Location = new Point ( stack4 . Location . X , 5 4 2 + 2 ) ;
}
else if ( device . XCoor = = 9 ) //22011
{
stack4 . Location = new Point ( stack4 . Location . X , 5 8 1 + 2 ) ;
}
else if ( device . XCoor = = 1 0 ) //22012
{
stack4 . Location = new Point ( stack4 . Location . X , 6 5 2 + 2 ) ;
}
tw4 . Location = new Point ( stack4 . Location . X + 9 , stack4 . Location . Y + 8 ) ;
break ;
}
}
#region �����Ѷ���
//double startadd = 269;//��1��ͼ������//
//double k = (double)(1000) / (double)56;//ͼ�ϻ��ܳ���/����
//double a = 0;
//int xcoor = device.XCoor;//xyz ���
//int zcoor = device.ZCoor;
//int locationX = 0;
//int locationY = 0;
//if (device.DeviceIndex == 11001)
//{
// if (textBox_code.Text != "")
// {
// xcoor = Convert.ToInt32(textBox_code.Text);
// }
// if (textBox_stackZ.Text != "")
// {
// zcoor = Convert.ToInt32(textBox_stackZ.Text);
// }
// locationX = (int)(startadd + a + k * (xcoor - 1));
// //if (xcoor == 1)
// //{
// // locationX = 184;
// //}
// if (zcoor == 1)
// {
// locationY = 730;
// }
// if (zcoor == 2)
// {
// locationY = 631;
// }
// if (zcoor == 3)
// {
// locationX = 15;
// locationY = 684;
// }
//}
//if (device.DeviceIndex == 11002)
//{
// if (textBox_code.Text != "")
// {
// xcoor = Convert.ToInt32(textBox_code.Text);
// }
// if (textBox_stackZ.Text != "")
// {
// zcoor = Convert.ToInt32(textBox_stackZ.Text);
// }
// locationX = (int)(startadd - a - k * (xcoor - 35));
// //if (xcoor == 1)
// //{
// // locationX = 184;
// //}
// if (zcoor == 1)
// {
// locationY = 531;
// }
// if (zcoor == 2)
// {
// locationY = 432;
// }
// if (zcoor == 3)
// {
// locationX = 15;
// locationY = 484;
// }
//}
//if (device.DeviceIndex == 11003)
//{
// if (textBox_code.Text != "")
// {
// xcoor = Convert.ToInt32(textBox_code.Text);
// }
// if (textBox_stackZ.Text != "")
// {
// zcoor = Convert.ToInt32(textBox_stackZ.Text);
// }
// locationX = (int)(startadd - a - k * (xcoor - 35));
// //if (xcoor == 1)
// //{
// // locationX = 184;
// //}
// if (zcoor == 1)
// {
// locationY = 332;
// }
// if (zcoor == 2)
// {
// locationY = 233;
// }
// if (zcoor == 3)
// {
// locationX = 15;
// locationY = 282;
// }
//}
//if (device.DeviceIndex == 11004)
//{
// if (textBox_code.Text != "")
// {
// xcoor = Convert.ToInt32(textBox_code.Text);
// }
// if (textBox_stackZ.Text != "")
// {
// zcoor = Convert.ToInt32(textBox_stackZ.Text);
// }
// locationX = (int)(startadd - a - k * (xcoor-35));
// //if (xcoor == 1)
// //{
// // locationX = 184;
// //}
// if (zcoor == 1)
// {
// locationY = 133;
// }
// if (zcoor == 2)
// {
// locationY = 34;
// }
// if (zcoor == 3)
// {
// locationX = 15;
// locationY = 84;
// }
//}
#endregion
else if ( device . DeviceKind = = 2 ) //̨��
{ //RGV
#region ̨��
//if (device.DeviceIndex >= 13001 && device.DeviceIndex <= 13007)
//{
// int nearY = 314;
// int farY = 337;
// if (device.SplitByte_1 == 1)//ͣ���ڽ�λ��
// {
// if (ctrl.Location.Y != nearY)
// {
// ctrl.Location = new Point(ctrl.Location.X, nearY);
// }
// }
// else
// if (device.SplitByte_2 == 1)//ͣ����Զλ��
// {
// if (ctrl.Location.Y != farY)
// {
// ctrl.Location = new Point(ctrl.Location.X, farY);
// }
// }
// switch (device.DeviceIndex)
// {
// //case 13001:
// // tb13001.Location = new Point(tb13001.Location.X, ctrl.Location.Y+7);
// // break;
// //case 13002:
// // tb13002.Location = new Point(tb13002.Location.X, ctrl.Location.Y + 7);
// // break;
// //case 13003:
// // tb13003.Location = new Point(tb13003.Location.X, ctrl.Location.Y + 7);
// // break;
// //case 13004:
// // tb13004.Location = new Point(tb13004.Location.X, ctrl.Location.Y + 7);
// // break;
// //case 13005:
// // tb13005.Location = new Point(tb13005.Location.X, ctrl.Location.Y + 7);
// // break;
// //case 13006:
// // tb13006.Location = new Point(tb13006.Location.X, ctrl.Location.Y + 7);
// // break;
// //case 13007:
// // tb13007.Location = new Point(tb13007.Location.X, ctrl.Location.Y + 7);
// // break;
// }
//}
#endregion
}
#endregion
#region �����豸״̬
switch ( device . RunState )
{
//����
case 0 :
if ( device . DeviceKind = = 1 | | device . DeviceKind = = 4 | | device . DeviceKind = = 1 7 )
{
if ( device . ControlMode > 0 )
{
ctrl . BackColor = Color . DarkViolet ;
}
else
{
ctrl . BackColor = Color . Orange ;
}
}
else
{
//if (device.DeviceIndex >= 13014 && device.DeviceIndex <= 13015)
//{
// ctrl.BackColor = Color.LightPink;
//}
//else
// if (device.DeviceIndex == 12014 || device.DeviceIndex == 12018 || device.DeviceIndex == 12022)
// {
// ctrl.BackColor = Color.LightPink;
// }
// else
// if (device.DeviceIndex >= 13023 && device.DeviceIndex <= 13024)
// {
// ctrl.BackColor = Color.Khaki;
// }
// else
// if (device.DeviceIndex >= 13007 && device.DeviceIndex <= 13008)
// {
// ctrl.BackColor = Color.Khaki;
// }
// else
{
ctrl . BackColor = Color . LightSkyBlue ;
}
}
break ;
//����
case 1 :
ctrl . BackColor = Color . Lime ;
break ;
//����
case 2 :
ctrl . BackColor = Color . Red ;
break ;
//����
case 3 :
ctrl . BackColor = Color . LightYellow ;
break ;
//ͣ��
case 4 :
ctrl . BackColor = Color . Maroon ;
break ;
//20090920��������
case 5 :
ctrl . BackColor = Color . SeaGreen ; //MediumOrchid;
break ;
}
#endregion
#region �豸������
//richar.liu20140806
int index = dvJY . Find ( device . DeviceIndex ) ;
if ( index > = 0 )
{
ctrl . BackColor = Color . Maroon ;
}
if ( device . VirtualStack > 0 & & index > = 0 ) //�����Ѷ���������
{
ctrl . Visible = false ;
}
else
{
ctrl . Visible = true ;
}
#endregion
}
#region ����̽��
foreach ( TextBox ctrl in pp . Controls . OfType < TextBox > ( ) )
{
if ( ctrl . Tag . ToString ( ) = = "" )
{
continue ;
}
DS = ctrl . Tag . ToString ( ) . Split ( dd ) ;
int devicebyte = 0 ; int devbit = 0 ;
int . TryParse ( DS [ 0 ] , out devicebyte ) ;
int . TryParse ( DS [ 1 ] , out devbit ) ;
device = Model . CGetInfo . GetDeviceInfo ( devicebyte ) ;
if ( device = = null )
{ //20100108
if ( tsStatus . Text . IndexOf ( ctrl . Name + "�ؼ���Ӧ���豸������" + ctrl . Tag + "�����ݿ�û�м�¼!" ) < 0 )
{
tsStatus . ForeColor = Color . Red ;
this . tsStatus . Text + = ctrl . Name + "�ؼ���Ӧ���豸������" + ctrl . Tag + "�����ݿ�û�м�¼!" ;
}
continue ;
}
//if (ctrl.Tag.ToString()=="11003.0")
//{
// string s = ctrl.Name;
//}
//if (ctrl.Tag.ToString() == "11003.1")
//{
// string s = ctrl.Name;
//}
//if (device.DeviceIndex == 19002)
//{
// string s = ctrl.Name;
//}
int index = dvJY . Find ( device . DeviceIndex ) ;
switch ( devbit )
{
case 0 :
if ( device . VirtualStack > 0 & & index > = 0 ) //�����Ѷ���������
{
ctrl . Visible = false ;
}
else
{
ctrl . Visible = device . SplitByte_0 = = 1 ? true : false ;
}
break ;
case 1 :
if ( device . VirtualStack > 0 & & index > = 0 ) //�����Ѷ���������
{
ctrl . Visible = false ;
}
else
{
ctrl . Visible = device . SplitByte_1 = = 1 ? true : false ;
}
break ;
case 2 :
ctrl . Visible = device . SplitByte_2 = = 1 ? true : false ;
break ;
case 3 :
ctrl . Visible = device . SplitByte_3 = = 1 ? true : false ;
break ;
case 4 :
ctrl . Visible = device . SplitByte_4 = = 1 ? true : false ;
break ;
case 5 :
ctrl . Visible = device . SplitByte_5 = = 1 ? true : false ;
break ;
case 6 :
ctrl . Visible = device . SplitByte_6 = = 1 ? true : false ;
ctrl . BackColor = Color . Goldenrod ;
break ;
case 7 :
ctrl . Visible = device . SplitByte_7 = = 1 ? true : false ;
break ;
}
}
#endregion
#region ��λ����̽��
foreach ( Label ctrl in pp . Controls . OfType < Label > ( ) )
{
if ( ctrl . Tag ! = null & & ctrl . ForeColor ! = Color . Red )
{
DS = ctrl . Tag . ToString ( ) . Split ( dd ) ;
int devicebyte = 0 ; int devbit = 0 ;
int . TryParse ( DS [ 0 ] , out devicebyte ) ;
int . TryParse ( DS [ 1 ] , out devbit ) ;
device = Model . CGetInfo . GetDeviceInfo ( devicebyte ) ;
if ( device = = null )
{ //20100108
if ( tsStatus . Text . IndexOf ( ctrl . Name + "�ؼ���Ӧ���豸������" + ctrl . Tag + "�����ݿ�û�м�¼!" ) < 0 )
{
tsStatus . ForeColor = Color . Red ;
this . tsStatus . Text + = ctrl . Name + "�ؼ���Ӧ���豸������" + ctrl . Tag + "�����ݿ�û�м�¼!" ;
}
continue ;
}
if ( device . DeviceIndex = = 1 3 0 0 3 )
{
}
if ( devbit < 8 )
{
switch ( devbit )
{
case 0 :
ctrl . Visible = device . SplitByte_0 = = 1 ? true : false ;
break ;
case 1 :
ctrl . Visible = device . SplitByte_1 = = 1 ? true : false ;
break ;
case 2 :
ctrl . Visible = device . SplitByte_2 = = 1 ? true : false ;
break ;
case 3 :
ctrl . Visible = device . SplitByte_3 = = 1 ? true : false ;
break ;
case 4 :
ctrl . Visible = device . SplitByte_4 = = 1 ? true : false ;
break ;
case 5 :
ctrl . Visible = device . SplitByte_5 = = 1 ? true : false ;
break ;
case 6 :
ctrl . Visible = device . SplitByte_6 = = 1 ? true : false ;
ctrl . BackColor = Color . Goldenrod ;
break ;
case 7 :
ctrl . Visible = device . SplitByte_7 = = 1 ? true : false ;
break ;
}
}
else
{
devbit = devbit % 8 ;
switch ( devbit )
{
case 0 :
ctrl . Visible = ( device . SplitByte_5 & 1 ) = = 1 ? true : false ;
break ;
case 1 :
ctrl . Visible = ( device . SplitByte_5 & 2 ) = = 2 ? true : false ;
break ;
case 2 :
ctrl . Visible = ( device . SplitByte_5 & 4 ) = = 4 ? true : false ;
break ;
case 3 :
ctrl . Visible = ( device . SplitByte_5 & 8 ) = = 8 ? true : false ;
break ;
case 4 :
ctrl . Visible = ( device . SplitByte_5 & 1 6 ) = = 1 6 ? true : false ;
break ;
case 5 :
ctrl . Visible = ( device . SplitByte_5 & 3 2 ) = = 3 2 ? true : false ;
break ;
case 6 :
ctrl . Visible = ( device . SplitByte_5 & 6 4 ) = = 6 4 ? true : false ;
break ;
case 7 :
ctrl . Visible = ( device . SplitByte_5 & 1 2 8 ) = = 1 2 8 ? true : false ;
break ;
}
}
}
}
#endregion
#region ��������ʾ
foreach ( RadioButton ctrl in pp . Controls . OfType < RadioButton > ( ) )
{
//20100108DataView dvh;
dv = dbo . ExceSQL ( "SELECT F_DeviceIndex FROM T_Base_Device WHERE (F_DeviceIndex = " + ctrl . Tag + ") AND (F_HaveGoods >0)" ) . Tables [ 0 ] . DefaultView ;
if ( dv . Count > 0 )
{
ctrl . Visible = true ;
ctrl . BackColor = Color . Blue ;
}
else
{
ctrl . Visible = false ;
}
}
#endregion
#region ���ϵ㣬��ȫ��
foreach ( PictureBox ctrl in pp . Controls . OfType < PictureBox > ( ) )
{
if ( ctrl . Tag . ToString ( ) ! = "" )
{
DS = ctrl . Tag . ToString ( ) . Split ( dd ) ;
if ( DS . Length > 1 )
{
int devicebyte = 0 ; int devbit = 0 ;
int . TryParse ( DS [ 0 ] , out devicebyte ) ;
int . TryParse ( DS [ 1 ] , out devbit ) ;
device = Model . CGetInfo . GetDeviceInfo ( devicebyte ) ;
if ( device = = null )
{ //20100108
if ( tsStatus . Text . IndexOf ( ctrl . Name + "�ؼ���Ӧ���豸������" + ctrl . Tag + "�����ݿ�û�м�¼!" ) < 0 )
{
tsStatus . ForeColor = Color . Red ;
this . tsStatus . Text + = ctrl . Name + "�ؼ���Ӧ���豸������" + ctrl . Tag + "�����ݿ�û�м�¼!" ;
}
continue ;
}
switch ( devbit )
{
case 0 :
ctrl . Visible = device . SplitByte_0 = = 1 ? true : false ;
break ;
case 1 :
ctrl . Visible = device . SplitByte_1 = = 1 ? true : false ;
break ;
case 2 :
ctrl . Visible = device . SplitByte_2 = = 1 ? true : false ;
break ;
case 3 :
ctrl . Visible = device . SplitByte_3 = = 1 ? true : false ;
break ;
case 4 :
ctrl . Visible = device . SplitByte_4 = = 1 ? true : false ;
break ;
case 5 :
ctrl . Visible = device . SplitByte_5 = = 1 ? true : false ;
break ;
case 6 :
ctrl . Visible = device . SplitByte_6 = = 1 ? true : false ;
break ;
case 7 :
ctrl . Visible = device . SplitByte_7 = = 1 ? true : false ;
break ;
}
}
}
}
#endregion
#region ��������ͣ��״̬
foreach ( PictureBox ctrl in pp . Controls . OfType < PictureBox > ( ) )
{
if ( ctrl . Tag . ToString ( ) ! = "" )
{
//�����ǽ���ͣ����ť��ʱ��
if ( ! ctrl . Tag . ToString ( ) . Contains ( "." ) )
{
device = Model . CGetInfo . GetDeviceInfo ( Convert . ToInt32 ( ctrl . Name . ToString ( ) . Substring ( ctrl . Name . Length - 5 , 5 ) ) ) ;
if ( device . DeviceKind = = 4 0 )
{
//ȡ�Ѷ���13.6״̬����ʾ��ɫ
device = Model . CGetInfo . GetDeviceInfo ( Convert . ToInt32 ( ctrl . Tag ) ) ;
if ( device = = null )
{
if ( tsStatus . Text . IndexOf ( ctrl . Name + "�ؼ���Ӧ���豸����:" + ctrl . Name . ToString ( ) . Substring ( ctrl . Name . Length - 5 , 5 ) + "�����ݿ�û�м�¼!" ) < 0 )
{
tsStatus . ForeColor = Color . Red ;
this . tsStatus . Text + = ctrl . Name + "�ؼ���Ӧ���豸������" + ctrl . Name . ToString ( ) . Substring ( ctrl . Name . Length - 5 , 5 ) + "�����ݿ�û�м�¼!" ;
}
continue ;
}
DataView dwRunDevice = dbo . ExceSQL ( "SELECT F_DeviceIndex FROM T_Base_Device WHERE F_DeviceKindIndex = 1 or F_DeviceKindIndex = 4" ) . Tables [ 0 ] . DefaultView ;
for ( int i = 0 ; i < dwRunDevice . Count ; i + + )
{
if ( ctrl . Tag . ToString ( ) = = dwRunDevice [ i ] [ "F_Deviceindex" ] . ToString ( ) )
{
Model . MDevice deviceRun = Model . CGetInfo . GetDeviceInfo ( Convert . ToInt32 ( ctrl . Tag . ToString ( ) ) ) ;
if ( deviceRun . SplitByte_6 = = 1 )
{
ctrl . Image = wcfControlMonitorClient . Properties . Resources . stop0 ;
}
if ( deviceRun . SplitByte_6 = = 0 )
{
ctrl . Image = wcfControlMonitorClient . Properties . Resources . stop1 ;
}
}
}
}
}
}
}
#endregion
#endregion
}
}
catch ( Exception ex )
{ //20100108
if ( tsStatus . Text . IndexOf ( "ˢ�½��涯��ʱ��" + ex . Message ) < 0 )
{
tsStatus . ForeColor = Color . Red ;
this . tsStatus . Text + = "ˢ�½��涯��ʱ��" + ex . Message ;
}
}
finally
{ //20100108
TimeSpan ts1 = DateTime . Now . TimeOfDay ;
device = null ;
this . ResumeLayout ( ) ; //richard.liu20140806
}
}
private void ctrl_Click ( object sender , EventArgs e )
{
Button btn = ( Button ) sender ;
_d eviceStatus . DeviceIndex = Convert . ToInt32 ( btn . Tag ) ;
_d eviceStatus . ShowDialog ( ) ;
}
private void Btn_MouseEnter ( object sender , EventArgs e )
{
int deviceindex ;
string [ ] DS ; char [ ] dd = new char [ 1 ] { '.' } ;
string msg = ( sender as Control ) . Tag . ToString ( ) ;
string name = ( sender as Control ) . Name . ToString ( ) ;
DS = msg . Split ( dd ) ;
if ( DS . Length > 0 )
{
if ( int . TryParse ( DS [ 0 ] , out deviceindex ) )
{
devinfo = Model . CGetInfo . GetDeviceInfo ( deviceindex ) ;
if ( devinfo ! = null )
{
//msg = string.Format("{0},�X,Y:({1},{2})", devinfo.DeviceName, (sender as Control).Location.X,(sender as Control).Location.Y+83);
msg = string . Format ( "{0}" , devinfo . DeviceName ) ;
if ( DS . Length > 1 )
{
if ( DS [ 1 ] = = "5" )
{
msg = "��ȫ�Ŵ���" ;
}
}
//msg = string.Format("{0}", devinfo.DeviceName);
}
}
}
if ( name . IndexOf ( "lift" ) > 0 )
{
msg = "��������������!" ;
}
toolTip_DeviceIndex . SetToolTip ( sender as Control , msg ) ;
}
private void ctrl_ClickLabel ( object sender , EventArgs e )
{
Label label = ( Label ) sender ;
_d eviceStatus . DeviceIndex = Convert . ToInt32 ( label . Tag ) ;
_d eviceStatus . ShowDialog ( ) ;
}
/// <summary>
/// ��������
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void FormSample_MouseWheel ( object sender , MouseEventArgs e )
{
////��ȡ����λ��
//Point mousePoint = new Point(e.X, e.Y);
////���������Ա�������λ��
//mousePoint.Offset(this.Location.X, this.Location.Y);
////�ж��Ƿ���panel��
//if (panelWareHouse.RectangleToScreen(panelWareHouse.DisplayRectangle).Contains(mousePoint))
//{
// //����
// panelWareHouse.AutoScrollPosition = new Point(0, panelWareHouse.VerticalScroll.Value - e.Delta);
//}
}
private void FrmControlMonitor_Load ( object sender , EventArgs e )
{
try
{
//this.panelWareHouse.MouseWheel += new MouseEventHandler(FormSample_MouseWheel);
//this.panelWareHouse.Focus();
#region �������ͻ������ͶѶ����ĵ����¼�
//foreach (Control ctrl in this.plAccessorial1.Controls)
//{
// if ((ctrl.GetType().ToString() == "System.Windows.Forms.Button") && (ctrl.Tag != null))
// {
// ctrl.Click += new EventHandler(ctrl_Click);
// ctrl.MouseEnter += new EventHandler(Btn_MouseEnter);
// }
// if ((ctrl.GetType().ToString() == "System.Windows.Forms.Label") && (ctrl.Tag != null) && (ctrl.ForeColor == Color.Red))
// {
// ctrl.Click += new EventHandler(ctrl_ClickLabel);
// ctrl.MouseEnter += new EventHandler(Btn_MouseEnter);
// }
// //if ((ctrl.GetType().ToString() == "System.Windows.Forms.Label") && (ctrl.Tag != null) && (ctrl.BackColor == Color.LightSteelBlue))
// //{
// // ctrl.MouseEnter += new EventHandler(Btn_MouseEnter);
// //}
// if ((ctrl.GetType().ToString() == "System.Windows.Forms.PictureBox") && (ctrl.Tag != null) && (ctrl.Enabled == true))
// {
// //ctrl.Click += new EventHandler(ctrl_ClickPic);
// ctrl.MouseEnter += new EventHandler(Btn_MouseEnter);
// }
//}
//foreach (Control ctrl in this.panelWareHouse.Controls)
//{
// if ((ctrl.GetType().ToString() == "System.Windows.Forms.Button") && (ctrl.Tag != null))
// {
// ctrl.Click += new EventHandler(ctrl_Click);
// ctrl.MouseEnter += new EventHandler(Btn_MouseEnter);
// }
// if ((ctrl.GetType().ToString() == "System.Windows.Forms.Label") && (ctrl.Tag != null) && (ctrl.ForeColor == Color.Red))
// {
// ctrl.Click += new EventHandler(ctrl_ClickLabel);
// ctrl.MouseEnter += new EventHandler(Btn_MouseEnter);
// }
// //if ((ctrl.GetType().ToString() == "System.Windows.Forms.Label") && (ctrl.Tag != null) && (ctrl.ForeColor == Color.Blue))
// //{
// // ctrl.Visible = true;
// // ctrl.Visible = false;
// //}
// //if ((ctrl.GetType().ToString() == "System.Windows.Forms.Label") && (ctrl.Tag != null) && (ctrl.BackColor == Color.LightSteelBlue))
// //{
// // ctrl.MouseEnter += new EventHandler(Btn_MouseEnter);
// //}
// if ((ctrl.GetType().ToString() == "System.Windows.Forms.PictureBox") && (ctrl.Tag != null) && (ctrl.Enabled == true))
// {
// //ctrl.Click += new EventHandler(ctrl_ClickPic);
// ctrl.MouseEnter += new EventHandler(Btn_MouseEnter);
// }
//}
//foreach (Control ctrl in this.InOutAreaPanel.Controls)
//{
// if ((ctrl.GetType().ToString() == "System.Windows.Forms.Button") && (ctrl.Tag != null))
// {
// ctrl.Click += new EventHandler(ctrl_Click);
// ctrl.MouseEnter += new EventHandler(Btn_MouseEnter);
// }
// if ((ctrl.GetType().ToString() == "System.Windows.Forms.Label") && (ctrl.Tag != null) && (ctrl.ForeColor == Color.Red))
// {
// ctrl.Click += new EventHandler(ctrl_ClickLabel);
// ctrl.MouseEnter += new EventHandler(Btn_MouseEnter);
// }
// //if ((ctrl.GetType().ToString() == "System.Windows.Forms.Label") && (ctrl.Tag != null) && (ctrl.ForeColor == Color.Blue))
// //{
// // ctrl.Visible = true;
// // ctrl.Visible = false;
// //}
// //if ((ctrl.GetType().ToString() == "System.Windows.Forms.Label") && (ctrl.Tag != null) && (ctrl.BackColor == Color.LightSteelBlue))
// //{
// // ctrl.MouseEnter += new EventHandler(Btn_MouseEnter);
// //}
// if ((ctrl.GetType().ToString() == "System.Windows.Forms.PictureBox") && (ctrl.Tag != null) && (ctrl.Enabled == true))
// {
// //ctrl.Click += new EventHandler(ctrl_ClickPic);
// ctrl.MouseEnter += new EventHandler(Btn_MouseEnter);
// }
//}
#endregion
foreach ( TabPage tabPage in tab . TabPages )
{
if ( tabPage . Tag . ToString ( ) = = CStaticClass . UserArea | | CStaticClass . UserArea = = "" )
{
foreach ( Control ctrls in tabPage . Controls )
{
if ( ctrls . GetType ( ) . ToString ( ) = = "System.Windows.Forms.Panel" )
{
foreach ( Control ctrl in ctrls . Controls )
{
if ( ( ctrl . GetType ( ) . ToString ( ) = = "System.Windows.Forms.Button" ) & & ( ctrl . Tag ! = null ) )
{
ctrl . Click + = new EventHandler ( ctrl_Click ) ;
ctrl . MouseEnter + = new EventHandler ( Btn_MouseEnter ) ;
}
if ( ( ctrl . GetType ( ) . ToString ( ) = = "System.Windows.Forms.Label" ) & & ( ctrl . Tag ! = null ) & & ( ctrl . ForeColor = = Color . Red ) )
{
ctrl . Click + = new EventHandler ( ctrl_ClickLabel ) ;
ctrl . MouseEnter + = new EventHandler ( Btn_MouseEnter ) ;
}
//if ((ctrl.GetType().ToString() == "System.Windows.Forms.Label") && (ctrl.Tag != null) && (ctrl.BackColor == Color.LightSteelBlue))
//{
// ctrl.MouseEnter += new EventHandler(Btn_MouseEnter);
//}
if ( ( ctrl . GetType ( ) . ToString ( ) = = "System.Windows.Forms.PictureBox" ) & & ( ctrl . Tag ! = null ) & & ( ctrl . Enabled = = true ) )
{
////ctrl.Click += new EventHandler(ctrl_ClickPic);
//ctrl.MouseEnter += new EventHandler(Btn_MouseEnter);
if ( ! ctrl . Tag . ToString ( ) . Contains ( "." ) )
{
ctrl . Click + = new EventHandler ( ctrl_Click_1 ) ;
ctrl . MouseEnter + = new EventHandler ( Btn_MouseEnter_Stop ) ;
}
else
{
ctrl . MouseEnter + = new EventHandler ( Btn_MouseEnter ) ;
}
}
}
}
}
}
else
{
tabPage . Parent = null ;
}
}
}
catch ( Exception ex )
{
throw ( ex ) ;
}
}
private void ctrl_Click_1 ( object sender , EventArgs e )
{
PictureBox px = ( PictureBox ) sender ;
int DeviceIndexForRunButton = Convert . ToInt32 ( px . Name . ToString ( ) . Substring ( px . Name . Length - 5 , 5 ) ) ;
Model . MDevice deviceRun = Model . CGetInfo . GetDeviceInfo ( Convert . ToInt32 ( px . Tag . ToString ( ) ) ) ;
int iValue = 0 ;
iValue = deviceRun . SplitByte_6 = = 1 ? 0 : 1 ;
CStaticClass . WcfControl . BeginSendDeviceReset ( DeviceIndexForRunButton , iValue , new AsyncCallback ( SendDeviceResetCallBack ) , iValue ) ;
}
void SendDeviceResetCallBack ( IAsyncResult ar )
{
string errtext = string . Empty ;
if ( CStaticClass . WcfControl . EndSendDeviceReset ( out errtext , ar ) = = false )
{
MessageBox . Show ( errtext , "������ʾ" , MessageBoxButtons . OK , MessageBoxIcon . Error ) ;
}
}
/// <summary>
/// ���ڽ���ͣ����ť��������ȥ��ʾ�豸��Ϣ
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Btn_MouseEnter_Stop ( object sender , EventArgs e )
{
string deviceindex = ( sender as Control ) . Tag . ToString ( ) ;
devinfo = Model . CGetInfo . GetDeviceInfo ( Convert . ToInt32 ( deviceindex ) ) ;
if ( devinfo ! = null )
{
if ( devinfo . SplitByte_6 = = 1 ) //δͣ��
{
deviceindex = string . Format ( "{0}-δ����ͣ��" , devinfo . DeviceIndex ) ;
}
if ( devinfo . SplitByte_6 = = 0 ) //ͣ��
{
deviceindex = string . Format ( "{0}-����ͣ����" , devinfo . DeviceIndex ) ;
}
}
toolTip_DeviceIndex . SetToolTip ( sender as Control , deviceindex ) ;
}
private void tsStatus_ForeColorChanged ( object sender , EventArgs e )
{
FrmErrorMessage . FormInstance . NewForeColor ( ( sender as TextBox ) . ForeColor ) ;
}
private void tsStatus_TextChanged ( object sender , EventArgs e )
{
//throw new System.Exception("The method or operation is not implemented.");
string msg = ( sender as TextBox ) . Text ;
if ( msg ! = "" )
{
//msg = string.Format("{0}\r\n", msg);
//msg=msg+"\r\n";
CommonClassLib . CCarryConvert . WriteDarkCasket ( "Error" , msg , "" , "" , "" ) ;
FrmErrorMessage . FormInstance . NewMessage ( msg ) ;
}
}
private void tabPage1_Click ( object sender , EventArgs e )
{
}
private void button6_Click ( object sender , EventArgs e )
{
string enddevices , startsdevices , strinfo = string . Empty ; //���������յ�
string sqlstr = string . Empty ;
DataView dvdv = new DataView ( ) ;
int EndDevice = 1 2 0 1 8 ;
sqlstr = string . Format ( "select * from T_Base_TaskCount where F_DeviceIndex={0}" , EndDevice ) ; //�����յ��豸��Ӧ�ij���������ȡ������ִ������
dvdv = dbo . ExceSQL ( sqlstr ) . Tables [ 0 ] . DefaultView ;
if ( dvdv . Count > 0 )
{
int getcount , execount ;
getcount = Convert . ToInt32 ( dvdv [ 0 ] [ "F_MAXCOUNT" ] ) ;
execount = Convert . ToInt32 ( dvdv [ 0 ] [ "F_EXECOUNT" ] ) ;
//checkdevice = Convert.ToInt32(dvdv[0]["F_CHECKDEVICE"]);//
enddevices = Convert . ToString ( dvdv [ 0 ] [ "F_CHECKENDDEVICE" ] ) ; //Ҫ�ж��Ƿ����ڸ��յ����豸
startsdevices = Convert . ToString ( dvdv [ 0 ] [ "F_CHECKSTARTDEVICE" ] ) ; //Ҫ�ж��Ƿ����ڸ��������豸
if ( startsdevices ! = "0" | | enddevices ! = "0" ) //��ʾͬʱִ��ʱ
{
sqlstr = string . Format ( "SELECT FID,F_ManageTaskKindIndex FROM T_Manage_Task WHERE (FSTARTDEVICE in({0})) OR (FENDDEVICE in({1}))" , startsdevices , enddevices ) ;
dvdv = dbo . ExceSQL ( sqlstr ) . Tables [ 0 ] . DefaultView ;
if ( dvdv . Count > 0 ) //��������ŵij���������ʱ����������������
{
// outcount = execount;
}
else //ֻ���ڵ�ǰ�յ�������ʱ������ȡ�������ƣ�һ������ ��ȡ����Ҫ����ִ������
{
//outcount = getcount;
}
}
}
}
private void button6_Click_1 ( object sender , EventArgs e )
{
bool a = GetTransDeviceIfFull ( "11003;11004;11005" ) ;
}
public bool GetTransDeviceIfFull ( string Devices )
{
try
{
char [ ] cc = new char [ 1 ] { ';' } ;
string [ ] sp ;
sp = Devices . Split ( cc ) ;
int count = sp . Length ; //�豸����
int goodscount = 0 ; //��������
for ( int i = 0 ; i < count ; i + + )
{
int deviceindex = Convert . ToInt32 ( sp [ i ] ) ;
devinfo = Model . CGetInfo . GetDeviceInfo ( deviceindex ) ;
if ( devinfo ! = null )
{
goodscount + = devinfo . SplitByte_0 ;
goodscount + = devinfo . SplitByte_1 ;
}
}
if ( goodscount > = count )
{
return true ;
}
else
{
return false ;
}
}
catch ( Exception ex )
{
return false ;
}
}
private void tabControl1_SelectedIndexChanged ( object sender , EventArgs e )
{
int index = ( ( TabControl ) sender ) . SelectedIndex ;
if ( index = = 1 )
{
//button242.Focus();
}
}
private void pictureBox9_Click ( object sender , EventArgs e ) //stop11001
{
// pic30001.Visible = false;
}
private void plAccessorial1_Paint ( object sender , PaintEventArgs e )
{
}
private void button119_Click ( object sender , EventArgs e )
{
}
private void textBox108_TextChanged ( object sender , EventArgs e )
{
}
private void label38_Click ( object sender , EventArgs e )
{
}
}
}