//控件刷新 void Form1Reflash() { while (true) { Thread.Sleep(500); xxxxxxx++; //Console.WriteLine("From1 Reflash:{0}", xxxxxxx); /******************用户登录、管理员权限检测***************************************************************/ if (CTMySql.isSignIn) //用户已登录时 { UserLogOut.Enabled = true; //退出登录按钮 解锁 UserSwitch.Enabled = true; //切换用户按钮 解锁 UserSignIn.Enabled = false; //用户登录按钮 锁定 SP_Set.Enabled = true; //串口设置按钮 解锁 } else //用户未登录时 { UserManage.Enabled = false; //用户管理按钮 锁定 UserLogOut.Enabled = false; //退出登录按钮 锁定 UserSwitch.Enabled = false; //切换用户按钮 锁定 UserSignIn.Enabled = true; //用户登录按钮 解锁 SP_Set.Enabled = false; //串口设置按钮 锁定 } if (CTMySql.isUserAdmin) //用户是管理员用户时 { UserManage.Enabled = true; //用户管理按钮 解锁 } else //用户非管理员用户时 { UserManage.Enabled = false; //用户管理按钮 锁定 } /****************串口开启检测********************************************************************************/ if (CTSerialPort.IsComOpen()) //串口开启时 { this.SP_Ttest.Enabled = true; //连接测试按钮 解锁 this.SP_Close.Enabled = true; //断开连接按钮 解锁 } else//串口关闭时 { this.SP_Ttest.Enabled = false; //连接测试按钮 锁定 this.SP_Close.Enabled = false; //断开连接按钮 锁定 } } }
//开始测试按钮 点击 public void Button_sp_test_Click(object sender, EventArgs e) { if (!CTSerialPort.IsComOpen()) { MessageBox.Show("串口未打开"); return; } button_sp_test_close.Focus(); //焦点置于停止测试按钮 button_sp_test_close.Enabled = true; //停止测试按钮 解锁 button_sp_tests_start.Enabled = false; //开始测试按钮 锁定 //开始读取串口数据线程 Thread readData = new Thread(ReadSpData); //实例一个读取数据线程 readData.IsBackground = true; //设置为后台线程 readData.Priority = ThreadPriority.Highest; //设置线程优先级为高 flag1 = true; //读数据线程信号灯通过 readData.Start(4); //开始线程 SendSpData("A"); //给下位机发送开始发送数据信号 }