private void TerminateExecCmdBtn_Click(object sender, EventArgs e) { ExecuteCMDBGW.CancelAsync(); }
//执行命令 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; } } }