Beispiel #1
0
        //控件刷新
        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");                                //给下位机发送开始发送数据信号
        }