示例#1
0
 //修改服务器端口号
 void btnSysSetServerPortOK_Click(object sender, EventArgs e)
 {
     if (richTextSysSetServerPort.Enabled == true)
     {
         //验证端口号格式是否正确(即是否是小于65535的纯数字)
         if (RegexUtil.RegexCheckNumber(richTextSysSetServerPort.Text))
         {
             int port = int.Parse(richTextSysSetServerPort.Text);
             if ((port > 0) && (port < 65535))
             {
                 richTextSysSetServerPort.Enabled = false;
                 SysConfig.Setting.serverPort     = port;
                 SysConfig.SaveSystemSetting(SysConfig.Setting);                                                 //将系统设置序列化到磁盘
                 //写入服务器端口号修改记录
                 worklog.LogQueue_Enqueue(LogCommand.getButtonClickRecord(BTNPANEL.SysSettingPanel, (int)BtnOfSysSettingPanel.ChangeServerPort, richTextSysSetServerPort.Text));
             }
             else
             {
                 MessageBox.Show("请输入小于65535的端口号");
             }
         }
         else
         {
             MessageBox.Show("请输入有效的端口号");
         }
     }
 }
示例#2
0
        //查看按钮点击事件
        void btnDeviceBaseCheck_Click(object sender, EventArgs e)
        {
            TreeNode fileNode = treeViewDeviceBase.SelectedNode;

            if (fileNode != null)                                  //若选中了节点
            {
                string srcFilePath  = ((string[])fileNode.Tag)[0]; //源文件全路径
                string htmlDirPath  = ((string[])fileNode.Tag)[1]; //Html文档所在文件夹路径
                string htmlFilePath = ((string[])fileNode.Tag)[2]; //Html文档全路径
                if (File.Exists(srcFilePath))                      //若所选中的文件存在
                {
                    //写入按钮点击记录到日志文件中
                    worklog.LogQueue_Enqueue(LogCommand.getButtonClickRecord(BTNPANEL.DeviceBasePanel, (int)BtnOfDeviceBasePanel.CheckBtn, srcFilePath));
                    if (File.Exists(htmlFilePath))                       //若Html文件存在, 则显示出来
                    {
                        webBrowserDeviceBase.Navigate(htmlFilePath);     //显示到WebBrowser中
                    }
                    else                                                 //若Html文件不存在, 则创建
                    {
                        if (DeviceBaseGenerateHtmlByWord(srcFilePath))   //若创建Html文档成功
                        {
                            webBrowserDeviceBase.Navigate(htmlFilePath); //则显示到WebBrowser中
                        }
                    }
                }
            }
        }
示例#3
0
 //返回按键
 void btnSysSetReturn_Click(object sender, EventArgs e)
 {
     isSystemSetting = false;
     PanelSwitch(CurPanel.EpanelContentMain);
     //写入按钮点击记录
     worklog.LogQueue_Enqueue(LogCommand.getButtonClickRecord(BTNPANEL.SysSettingPanel, (int)BtnOfSysSettingPanel.SysSettingReturn, null));
 }
示例#4
0
        //修改服务器地址
        void btnSysSetServerAddOK_Click(object sender, EventArgs e)
        {
            if (richTextSysSetServerAdd.Enabled == true)                        //若处于可以修改的状态
            {
                //判断IP是否正确, 这里直接用IPAddress.Parse来尝试将IP地址进行解析, 若报异常则代表是无效的IP地址
                //bool isIpValid = false;
                bool isIpValid = Uri.IsWellFormedUriString(richTextSysSetServerAdd.Text, UriKind.RelativeOrAbsolute);

                //            try {IPAddress ipAddress = IPAddress.Parse(richTextSysSetServerAdd.Text); isIpValid = true;}
                //catch (Exception ex) { Console.WriteLine(ex.Message); log.Info(AppUtil.getExceptionInfo(ex)); isIpValid = false; }
                //若IP地址有效
                if (isIpValid)
                {
                    richTextSysSetServerAdd.Enabled = false;
                    SysConfig.Setting.serverIP      = richTextSysSetServerAdd.Text;
                    SysConfig.SaveSystemSetting(SysConfig.Setting);                                             //将系统设置序列化到磁盘
                    //写入服务器地址修改记录
                    worklog.LogQueue_Enqueue(LogCommand.getButtonClickRecord(BTNPANEL.SysSettingPanel, (int)BtnOfSysSettingPanel.ChangeServerIP, richTextSysSetServerAdd.Text));
                }
                else
                {
                    MessageBox.Show("请输入有效的IP地址");
                }
            }
        }
示例#5
0
 //开始同步按钮点击事件
 void btnInfoSyncStart_Click(object sender, EventArgs e)
 {
     //写入按钮点击记录
     worklog.LogQueue_Enqueue(LogCommand.getButtonClickRecord(BTNPANEL.InfoSyncPanel, (int)BtnOfInfoSyncPanel.StartSync, null));
     if (!isInfoSyncing)                 //若没有正在信息同步
     {
         //if (netcom.isConnected)		//若网络连接正常
         if (true)
         {
             isInfoSyncing = true;
             pictureInfoSyncWait.Visible = true;                                 //"等待图片"显示出来
             //将所有URI清空
             LatestLogName = null;
             //开启信息同步线程
             infoSyncTh              = new Thread(InfoSyncThread);
             infoSyncTh.Name         = "信息同步线程";
             infoSyncTh.IsBackground = true;
             infoSyncTh.Start();
         }
         else
         {
             MessageBox.Show("当前网络不可用", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
         }
     }
     else
     {
         MessageBox.Show("正在信息同步中, 请不要重复点击");
     }
 }
示例#6
0
 //修改系统密码
 void btnSysSetSysPwdOK_Click(object sender, EventArgs e)
 {
     if (richTextSysSetSysPwd.Enabled == true)
     {
         richTextSysSetSysPwd.Enabled     = false;
         SysConfig.Setting.systemPassword = richTextSysSetSysPwd.Text;
         SysConfig.SaveSystemSetting(SysConfig.Setting);
         //写入系统密码修改记录
         worklog.LogQueue_Enqueue(LogCommand.getButtonClickRecord(BTNPANEL.SysSettingPanel, (int)BtnOfSysSettingPanel.ChangeSysPwd, richTextSysSetSysPwd.Text));
     }
 }
示例#7
0
 //修改服务器账号
 void btnSysSetAccountOK_Click(object sender, EventArgs e)
 {
     if (richTextSysSetAccount.Enabled == true)
     {
         richTextSysSetAccount.Enabled   = false;
         SysConfig.Setting.accessAccount = richTextSysSetAccount.Text;
         SysConfig.SaveSystemSetting(SysConfig.Setting);                                                 //将系统设置序列化到磁盘
         //写入服务器账号修改记录
         worklog.LogQueue_Enqueue(LogCommand.getButtonClickRecord(BTNPANEL.SysSettingPanel, (int)BtnOfSysSettingPanel.ChangeAccount, richTextSysSetAccount.Text));
     }
 }
示例#8
0
 //修改单位
 void btnSysSetUnitOK_Click(object sender, EventArgs e)
 {
     if (richTextSysSetUnit.Enabled == true)
     {
         richTextSysSetUnit.Enabled = false;
         SysConfig.Setting.unitName = richTextSysSetUnit.Text;
         SysConfig.SaveSystemSetting(SysConfig.Setting);
         labelUnit.Text = "单位:" + SysConfig.Setting.unitName;
         //写入单位修改记录
         worklog.LogQueue_Enqueue(LogCommand.getButtonClickRecord(BTNPANEL.SysSettingPanel, (int)BtnOfSysSettingPanel.ChangeUnit, richTextSysSetUnit.Text));
     }
 }
示例#9
0
 //修改阈值
 void btnSysSetThresOK_Click(object sender, EventArgs e)
 {
     if (comboBoxSysSetThres.Enabled == true)
     {
         comboBoxSysSetThres.Enabled      = false;
         btnThresList.Enabled             = false;
         SysConfig.Setting.alarmThreshold = comboBoxSysSetThres.SelectedIndex;
         SysConfig.SaveSystemSetting(SysConfig.Setting);
         //写入阈值修改记录
         worklog.LogQueue_Enqueue(LogCommand.getButtonClickRecord(BTNPANEL.SysSettingPanel, (int)BtnOfSysSettingPanel.ChangeThreshold, comboBoxSysSetThres.SelectedIndex.ToString()));
     }
 }
示例#10
0
        //删除按钮点击事件
        void btnDeviceBaseDel_Click(object sender, EventArgs e)
        {
            TreeNode selectedNode = treeViewDeviceBase.SelectedNode;

            if ((selectedNode != null) && (selectedNode != rootNodeDeviceBase))                         //不能删除空节点
            {
                if ((selectedNode != rootNodeDeviceBase) && (selectedNode != rootNodeDeviceBase))       //不能删除根节点 和 二级子节点
                {
                    string path = ((string[])selectedNode.Tag)[0];
                    if (Directory.Exists(path))                                 //如果选中的是目录, 则删除路径就是当前目录
                    {
                        if (MessageBox.Show("您确定要删除“" + selectedNode.Text + "”目录吗?", "删除文件提示", MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2) == DialogResult.Yes)
                        {
                            try
                            {
                                //写入按钮点击记录到日志文件中
                                worklog.LogQueue_Enqueue(LogCommand.getButtonClickRecord(BTNPANEL.DeviceBasePanel, (int)BtnOfDeviceBasePanel.DeleteBtn, ((string[])selectedNode.Tag)[0]));
                                Directory.Delete(((string[])selectedNode.Tag)[0], true);
                                Directory.Delete(((string[])selectedNode.Tag)[1], true);
                                treeViewDeviceBase.Nodes.Remove(selectedNode);
                            }
                            catch (Exception ex) { Console.WriteLine(ex.Message); log.Info(AppUtil.getExceptionInfo(ex)); }
                        }
                    }
                    else                                                                        //如果选中的是文件, 则删除路径就是当前文件的目录
                    {
                        if (MessageBox.Show("您确定要删除“" + selectedNode.Text + "”文件吗?", "删除文件提示", MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2) == DialogResult.Yes)
                        {
                            try
                            {
                                //写入按钮点击记录到日志文件中
                                worklog.LogQueue_Enqueue(LogCommand.getButtonClickRecord(BTNPANEL.DeviceBasePanel, (int)BtnOfDeviceBasePanel.DeleteBtn, ((string[])selectedNode.Tag)[0]));
                                File.Delete(((string[])selectedNode.Tag)[0]);
                                Directory.Delete(((string[])selectedNode.Tag)[1], true);
                                treeViewDeviceBase.Nodes.Remove(selectedNode);
                            }
                            catch (Exception ex) { Console.WriteLine(ex.Message); log.Info(AppUtil.getExceptionInfo(ex)); }
                        }
                    }
                }
            }
        }
示例#11
0
        //确认临时编组按钮点击事件
        void btnTempGroupOK_Click(object sender, EventArgs e)
        {
            //先判断用户输入的格式对不对
            //检查原组号是否是数字
            if (RegexUtil.RegexCheckNumber(richTextTempOldGrpNO.Text))
            {
                //检查原组号是否超出范围
                if (int.Parse(richTextTempOldGrpNO.Text) < 0xFFFFFF)
                {
                    //检查新组号是否是数字
                    if (RegexUtil.RegexCheckNumber(richTextTempNewGrpNO.Text))
                    {
                        //检查新组号是否超出范围
                        if (int.Parse(richTextTempNewGrpNO.Text) < 0xFFFFFF)
                        {
                            //检查原用户号是否是数字
                            if (RegexUtil.RegexCheckNumber(richTextTempOldDevNO.Text))
                            {
                                //检查原用户号是否超出范围
                                if (int.Parse(richTextTempOldDevNO.Text) < 33)
                                {
                                    //检查新用户号是否是数字
                                    if (RegexUtil.RegexCheckNumber(richTextTempNewDevNO.Text))
                                    {
                                        //检查新用户号是否超出范围
                                        if (int.Parse(richTextTempNewDevNO.Text) < 33)
                                        {
                                            //全部检查完毕没有问题
                                            richTextTempGroupStatus.Text = "";                                                          //状态栏清空
                                            TempGrpOldSerialNO           = (int.Parse(richTextTempOldGrpNO.Text) << 8) | (int.Parse(richTextTempOldDevNO.Text));
                                            TempGrpNewSerialNO           = (int.Parse(richTextTempNewGrpNO.Text) << 8) | (int.Parse(richTextTempNewDevNO.Text));

                                            //发送临时组队命令
                                            SerialSendMsg sendMsg = ProtocolCommand.BuildTeamCmdMsg(AppUtil.IntToBytes(TempGrpOldSerialNO),
                                                                                                    AppUtil.IntToBytes(TempGrpNewSerialNO),
                                                                                                    SysConfig.getSerialNOBytes());
                                            serialCom.SendQueue_Enqueue(sendMsg);                                               //发送出去
                                            //写入按钮点击记录
                                            worklog.LogQueue_Enqueue(LogCommand.getButtonClickRecord(BTNPANEL.TempGrpPanel, (int)BtnOfTempGrpPanel.StartTempGrp, TempGrpOldSerialNO.ToString("X8") + " " + TempGrpNewSerialNO.ToString("X8")));
                                        }
                                        else
                                        {
                                            MessageBox.Show("新用户号必须小于33");
                                        }
                                    }
                                    else
                                    {
                                        MessageBox.Show("新用户号必须为数字形式");
                                    }
                                }
                                else
                                {
                                    MessageBox.Show("原用户号必须小于33");
                                }
                            }
                            else
                            {
                                MessageBox.Show("原用户号必须为数字形式");
                            }
                        }
                        else
                        {
                            MessageBox.Show("新组号必须小于16777215");
                        }
                    }
                    else
                    {
                        MessageBox.Show("新组号必须为数字形式");
                    }
                }
                else
                {
                    MessageBox.Show("原组号必须小于16777215");
                }
            }
            else
            {
                MessageBox.Show("原组号必须为数字形式");
            }
        }
示例#12
0
        //添加按钮点击事件
        void btnDeviceBaseAdd_Click(object sender, EventArgs e)
        {
            TreeNode selectedNode = treeViewDeviceBase.SelectedNode;
            TreeNode ParentNode   = null;
            string   savePath     = null;

            if (selectedNode != null)                           //选中了节点
            {
                string path = ((string[])selectedNode.Tag)[0];  //源文件全路径
                // 若选中的节点在同步库中, 则将其改为本地库
                if (path.Contains("\\res\\DeviceBase\\SrcFiles\\同步库"))
                {
                    foreach (TreeNode node in rootNodeDeviceBase.Nodes)
                    {
                        if (node.Text == "本地库")
                        {
                            ParentNode = node;
                        }
                    }
                    savePath = ((string[])rootNodeDeviceBase.Tag)[0] + "\\本地库";
                }
                else
                {
                    if (Directory.Exists(path))
                    {
                        savePath = path; ParentNode = selectedNode;
                    }                                                                                                                                           //如果选中的是目录, 则保存路径就是当前目录
                    else
                    {
                        savePath = ((string[])selectedNode.Parent.Tag)[0]; ParentNode = selectedNode.Parent;
                    }                                                                                                                   //如果选中的是文件, 则保存路径就是当前文件的目录
                }
            }
            else                                                                //如果没有选中, 则保存路径就是本地库目录
            {
                foreach (TreeNode node in rootNodeDeviceBase.Nodes)
                {
                    if (node.Text == "本地库")
                    {
                        ParentNode = node;
                    }
                }
                savePath = ((string[])rootNodeDeviceBase.Tag)[0] + "\\本地库";
            }

            OpenFileDialog openFileDialog = new OpenFileDialog();

            openFileDialog.Filter           = "Word|*.docx|Word|*.doc";
            openFileDialog.FilterIndex      = 0;
            openFileDialog.RestoreDirectory = true;                                     //保存对话框是否记忆上次打开的目录
            openFileDialog.Title            = "添加文件";
            if (openFileDialog.ShowDialog() == DialogResult.OK)
            {
                if (AppUtil.CopyFileTo(openFileDialog.FileName, savePath))                      //若拷贝文件成功
                {
                    string   filePath    = savePath + "\\" + Path.GetFileName(openFileDialog.FileName);
                    TreeNode subFileNode = new TreeNode(Path.GetFileNameWithoutExtension(filePath));
                    subFileNode.Tag                = GetTagPath(Path.GetFullPath(filePath));
                    subFileNode.ImageIndex         = 1;
                    subFileNode.SelectedImageIndex = 1;
                    ParentNode.Nodes.Add(subFileNode);
                    //写入按钮点击记录到日志文件中
                    worklog.LogQueue_Enqueue(LogCommand.getButtonClickRecord(BTNPANEL.DeviceBasePanel, (int)BtnOfDeviceBasePanel.AddBtn, openFileDialog.FileName));
                }
            }
        }
示例#13
0
 //返回按钮点击事件
 void btnDeviceBaseReturn_Click(object sender, EventArgs e)
 {
     PanelSwitch(CurPanel.EpanelContentMain);
     //写入按钮点击记录到日志文件中
     worklog.LogQueue_Enqueue(LogCommand.getButtonClickRecord(BTNPANEL.DeviceBasePanel, (int)BtnOfDeviceBasePanel.DeviceBaseReturn, null));
 }
示例#14
0
        //导入用户 按钮
        void btnSysSetImport_Click(object sender, EventArgs e)
        {
            List <UserBasicInfo> userList = null;
            int            SuccessCnt     = 0;                                  //导入成功的文件数目
            OpenFileDialog openFileDialog = new OpenFileDialog();

            openFileDialog.Filter           = "Excel,JPG,PNG|*.xlsx;*.xls;*.jpg;*.jpeg;*.png";
            openFileDialog.FilterIndex      = 0;
            openFileDialog.RestoreDirectory = true;                                     //保存对话框是否记忆上次打开的目录
            openFileDialog.Multiselect      = true;
            openFileDialog.InitialDirectory = Application.StartupPath + @"\res\UserTable";
            openFileDialog.Title            = "导入用户配置文件";
            if (openFileDialog.ShowDialog() == DialogResult.OK)
            {
                if (openFileDialog.FileNames != null)
                {
                    string[] filesPath = openFileDialog.FileNames;
                    foreach (string filePath in filesPath)
                    {
                        if (Path.GetExtension(filePath).Contains("xlsx") || Path.GetExtension(filePath).Contains("xls")) //若是excel文件
                        {
                            userList = userRW.ReadUserInfoFile(openFileDialog.FileName);                                 //读取导入文件中的用户
                            if (userList != null)
                            {
                                //删除当前所有用户
                                for (int i = users.Count - 1; i >= 0; i--)
                                {
                                    RemoveUserAt(i);
                                }
                                if (userList.Count > 0)
                                {
                                    foreach (UserBasicInfo userInfo in userList)
                                    {
                                        AddUser(userInfo);
                                    }
                                }
                                //更新默认用户文件
                                userRW.SaveUserInfoFile(userRW.DefaultUserFileName, users);

                                //写入按钮点击记录
                                worklog.LogQueue_Enqueue(LogCommand.getButtonClickRecord(BTNPANEL.SysSettingPanel, (int)BtnOfSysSettingPanel.ImportUsers, openFileDialog.FileName));
                                //写入用户全部更新记录
                                worklog.LogQueue_Enqueue(LogCommand.getUserUpdateRecord(1, users, null));
                                SuccessCnt++;
                            }
                        }
                        else                                                       //若是图像文件
                        {
                            if (AppUtil.CopyFileTo(filePath, ".\\res\\UserTable")) // 直接将其拷贝到用户目录下
                            {
                                SuccessCnt++;
                            }
                        }
                    }
                    if (SuccessCnt == 0)
                    {
                        MessageBox.Show("导入失败");
                    }
                    else if (SuccessCnt < filesPath.Length)
                    {
                        MessageBox.Show("部分导入成功");
                    }
                    else
                    {
                        MessageBox.Show("导入成功");
                    }
                }
            }
        }
示例#15
0
 //修改组号
 void btnSysSetGrpNOOK_Click(object sender, EventArgs e)
 {
     if (richTextSysSetGrpNO.Enabled == true)
     {
         //验证组号格式是否正确(即是否是小于16777215的纯数字)
         if (RegexUtil.RegexCheckNumber(richTextSysSetGrpNO.Text))
         {
             int GrpNO = int.Parse(richTextSysSetGrpNO.Text);
             if ((GrpNO > 0) && (GrpNO < 16777215))
             {
                 richTextSysSetGrpNO.Text      = GrpNO.ToString("D8");
                 richTextSysSetGrpNO.Enabled   = false;
                 SysConfig.Setting.groupNumber = GrpNO;
                 labelGrpNumber.Text           = "组号:" + SysConfig.Setting.groupNumber.ToString("D8");
                 SysConfig.SaveSystemSetting(SysConfig.Setting);
                 //写入组号修改记录
                 worklog.LogQueue_Enqueue(LogCommand.getButtonClickRecord(BTNPANEL.SysSettingPanel, (int)BtnOfSysSettingPanel.ChangeGrpNO, richTextSysSetGrpNO.Text));
                 isSerialShouldOpen = true;
             }
             else
             {
                 MessageBox.Show("请输入小于16777215的组号");
             }
         }
         else
         {
             MessageBox.Show("请输入正确的组号格式");
         }
         //验证信道格式是否正确(即是否是小于30的纯数字)
         if (RegexUtil.RegexCheckNumber(richTextSysSetChannal.Text))
         {
             int Channal = int.Parse(richTextSysSetChannal.Text);
             if ((Channal > 0) && (Channal < 30) && (Channal < 23 || Channal > 25))
             {
                 richTextSysSetChannal.Text    = Channal.ToString("D8");
                 richTextSysSetChannal.Enabled = false;
                 SysConfig.Setting.channal     = Channal;
                 labelChannel.Text             = "信道:" + SysConfig.Setting.channal.ToString("D2");
                 SysConfig.SaveSystemSetting(SysConfig.Setting);
                 //写入组号修改记录
                 //worklog.LogQueue_Enqueue(LogCommand.getButtonClickRecord(BTNPANEL.SysSettingPanel, (int)BtnOfSysSettingPanel.ChangeGrpNO, richTextSysSetGrpNO.Text));
                 isSerialShouldOpen = true;
                 //串口通信配置
                 //string comName = AppUtil.FindComByKeyStr(ComKeyStr);		//查找包含关键字的COM号
                 if (SysConfig.Setting.serialCom != null)
                 {
                     if (serialCom.ComOpen(SysConfig.Setting.serialCom, SerialBaudLUT[SysConfig.Setting.serialBaud]))//若打开串口成功
                     {
                         //写入串口连接记录到日志文件中
                         worklog.LogQueue_Enqueue(LogCommand.getSerialRecord(SerialRecordType.Connect, null));
                         serialCom.SendQueue_Enqueue(ProtocolCommand.SwitchChannelMsg((byte)(SysConfig.Setting.channal)));  //切换信道
                     }
                 }
                 else
                 {
                     MessageBox.Show("打开串口失败!");
                 }
             }
             else
             {
                 MessageBox.Show("请输入小于30的信道号 并且不为 23 24 25");
             }
         }
         else
         {
             MessageBox.Show("请输入正确的组号格式");
         }
     }
 }
示例#16
0
 //用户列表 按钮
 void btnSysSetCheckUser_Click(object sender, EventArgs e)
 {
     PanelSwitch(CurPanel.EpanelCheckUser);
     //写入按钮点击记录
     worklog.LogQueue_Enqueue(LogCommand.getButtonClickRecord(BTNPANEL.SysSettingPanel, (int)BtnOfSysSettingPanel.CheckUser, null));
 }
示例#17
0
 //返回按钮响应事件
 void btnInfoSyncReturn_Click(object sender, EventArgs e)
 {
     PanelSwitch(CurPanel.EpanelSysSetting);
     //写入按钮点击记录
     worklog.LogQueue_Enqueue(LogCommand.getButtonClickRecord(BTNPANEL.InfoSyncPanel, (int)BtnOfInfoSyncPanel.InfoSyncReturn, null));
 }
示例#18
0
 //确认改号按钮点击事件
 void btnUserChangeNOOK_Click(object sender, EventArgs e)
 {
     //先判断用户输入的格式对不对
     //检查原组号是否是数字
     if (RegexUtil.RegexCheckNumber(richTextOldGrpNO.Text))
     {
         //检查原组号是否超出范围
         if (int.Parse(richTextOldGrpNO.Text) < 0xFFFFFF)
         {
             //检查新组号是否是数字
             if (RegexUtil.RegexCheckNumber(richTextNewGrpNO.Text))
             {
                 //检查新组号是否超出范围
                 if (int.Parse(richTextNewGrpNO.Text) < 0xFFFFFF)
                 {
                     //检查原用户号是否是数字
                     if (RegexUtil.RegexCheckNumber(richTextOldDevNO.Text))
                     {
                         //检查原用户号是否超出范围
                         if (int.Parse(richTextOldDevNO.Text) < 33)
                         {
                             //检查新用户号是否是数字
                             if (RegexUtil.RegexCheckNumber(richTextNewDevNO.Text))
                             {
                                 //检查新用户号是否超出范围
                                 if (int.Parse(richTextNewDevNO.Text) < 33)
                                 {
                                     //检查信道号是否是数字
                                     if (RegexUtil.RegexCheckNumber(richTextNewChannal.Text))
                                     {
                                         ChangeNONewChannal = int.Parse(richTextNewChannal.Text);
                                         //检查信道号是否超出范围
                                         if (ChangeNONewChannal < 31 && (ChangeNONewChannal < 23 || ChangeNONewChannal > 25))
                                         {
                                             //全部检查完毕没有问题
                                             richTextUserChangeNOStatus.Text = "";       //状态栏清空
                                             ChangeNOOldSerialNO             = (int.Parse(richTextOldGrpNO.Text) << 8) | (int.Parse(richTextOldDevNO.Text));
                                             ChangeNONewSerialNO             = (int.Parse(richTextNewGrpNO.Text) << 8) | (int.Parse(richTextNewDevNO.Text));
                                             ChangeNONewSerialNO_forChannal  = ChangeNONewSerialNO;                                                //发送临时组队命令
                                             SerialSendMsg sendMsg = ProtocolCommand.ParaSetup1CmdMsg(AppUtil.IntToBytes(ChangeNOOldSerialNO), AppUtil.IntToBytes(ChangeNONewSerialNO));
                                             //发送切换信道命令
                                             serialCom.SendQueue_Enqueue(sendMsg);                  //发送出去
                                             ChangeNONewChannal = int.Parse(richTextNewChannal.Text);
                                             Thread th = new Thread(new ThreadStart(ThreadSwitch)); //创建线程
                                             th.Start();                                            //启动线程
                                             //写入按钮点击记录
                                             worklog.LogQueue_Enqueue(LogCommand.getButtonClickRecord(BTNPANEL.UserChangeNOPanel, (int)BtnOfUserChangeNOPanel.StartChangeNO, ChangeNOOldSerialNO.ToString("X8") + " " + ChangeNONewSerialNO.ToString("X8")));
                                         }
                                         else
                                         {
                                             MessageBox.Show("信道必须小于30,切不能为23 24 25");
                                         }
                                     }
                                     else
                                     {
                                         MessageBox.Show("信道必须是数字");
                                     }
                                 }
                                 else
                                 {
                                     MessageBox.Show("新用户号必须小于33");
                                 }
                             }
                             else
                             {
                                 MessageBox.Show("新用户号必须为数字形式");
                             }
                         }
                         else
                         {
                             MessageBox.Show("原用户号必须小于33");
                         }
                     }
                     else
                     {
                         MessageBox.Show("原用户号必须为数字形式");
                     }
                 }
                 else
                 {
                     MessageBox.Show("新组号必须小于16777215");
                 }
             }
             else
             {
                 MessageBox.Show("新组号必须为数字形式");
             }
         }
         else
         {
             MessageBox.Show("原组号必须小于16777215");
         }
     }
     else
     {
         MessageBox.Show("原组号必须为数字形式");
     }
 }