예제 #1
0
 private void TerminateExecCmdBtn_Click(object sender, EventArgs e)
 {
     ExecuteCMDBGW.CancelAsync();
 }
예제 #2
0
        //执行命令
        private void ExecCmdBtn_Click(object sender, EventArgs e)
        {
            CmdExecStatusLstv.Items.Clear();  //清空列表框
            ScannedIP.Clear();
            ExecCmdBtn.Enabled = false;

            //查看选项
            if (IsBatchExec == false)//单个执行
            {
                if (
                    SelectedIPTxt.Text.Trim() == "" ||
                    PortTxt.Text.Trim() == "" ||
                    LoginNameTxt.Text.Trim() == "" ||
                    DatabaseCombo.Text.Trim() == ""
                    )
                {
                    MessageBox.Show(this, "选定IP地址,端口,登录名,数据库不能为空", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    ExecCmdBtn.Enabled = true;
                    return;
                }
                ExecuteCMDBGW.RunWorkerAsync();
            }
            else /*是批量执行,必须等待扫描完毕!*/
            {
                //判断是否为空,但是批量执行可以不需要ip地址
                if (
                    PortTxt.Text.Trim() == "" ||
                    LoginNameTxt.Text.Trim() == "" ||
                    DatabaseCombo.Text.Trim() == ""
                    )
                {
                    MessageBox.Show(this, "端口,登录名,数据库不能为空", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    ExecCmdBtn.Enabled = true;

                    return;
                }

                //判断是否在扫描
                if (bgw.IsBusy == true)
                {
                    MessageBox.Show(this, "一定要扫描完毕,再批量执行!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    ExecCmdBtn.Enabled = true;
                    return;
                }
                else /*不在扫描,或扫描已终止*/

                {
                    //查看列表是否为空,为空提示扫描
                    if (OnlinePCLstv.Items.Count <= 0)
                    {
                        MessageBox.Show(this, "在批量执行的条件下,应该先扫描到网内的计算机,再做操作", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        ExecCmdBtn.Enabled = true;
                        return;
                    }
                    else
                    {
                        int count = OnlinePCLstv.Items.Count;
                        if (count <= 0)           //列表框中的个数,如果为0,请扫描
                        {
                            MessageBox.Show(this, "请先扫描,再进行批量执行", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            ExecCmdBtn.Enabled = true;
                            return;
                        }
                        else                       //不为空,添加到List容器中
                        {
                            for (int i = 0; i < count; i++)
                            {
                                ScannedIP.Add(OnlinePCLstv.Items[i].Text);
                            }
                            ExecuteCMDBGW.RunWorkerAsync();
                        }
                    }

                    ExecCmdBtn.Enabled = true;
                }
            }
        }