日期:2014-05-18  浏览次数:20719 次

请教webbrowser控件问题,请熟悉的同学帮忙看看
前提:
WinForm中使用webbrowser,Form再Load时打开IE窗口。
IE中有“提交”按钮,有校验。

我想在提交后,校验通过时关闭Winform项目,如果校验不通过不关闭,并有提示。
现在是不管我校验是否通过项目就直接关闭了

我的代码:
 private void webBrowser_Submit_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
  {
  PrintTaskSubmitForm h = new PrintTaskSubmitForm();
  System.Windows.Forms.HtmlDocument HtmlDocument = this.webBrowser_Submit.Document;
  System.Windows.Forms.HtmlElement clientSubmit = HtmlDocument.GetElementById("client_Submit");
  if (clientSubmit != null)
  {
  clientSubmit.Click += new HtmlElementEventHandler(h.RunApp);// // 指定监视
  }
  else
  {
  MessageBox.Show(string.Format("未找到ID为{0}的提交按钮", "client_Submit"));
  }
  }
  private void RunApp(object sender, EventArgs e)
  {
   
  Application.Exit();

  }


private void PrintTaskSubmitForm_Load(object sender, EventArgs e)
  {
  String[] CmdArgs = System.Environment.GetCommandLineArgs();
  if(CmdArgs.Length==2)
  {
  string uri = CmdArgs[1].ToString();
  this.webBrowser_Submit.Url = new Uri(uri);
  this.webBrowser_Submit.ObjectForScripting = this;
  }
  else
  {
  MessageBox.Show("未设置URL!");
  }
   
  }

------解决方案--------------------
加入判断代码,就能有条件关闭啊,
------解决方案--------------------
clientSubmit.Click += new HtmlElementEventHandler(h.RunApp);你绑定了按钮点击事件,只要点击就退出了,取消这个绑定,需要关闭时直接调用RunApp