none
关于WebBrowser控件及try catch的两个问题 RRS feed

  • 问题

  • 问题一:

    我在使用WebBrowser控件写一个网页浏览器.

    但当网页中有需要打开新窗口代码时,程序总是会调用IE打开新页面.

    使用以下代码能解决部分问题.

    private void webBrowser1_NewWindow(object sender, CancelEventArgs e){
                e.Cancel = true;
                webBrowser1.Navigate(webBrowser1.StatusText);
            }

    但如果是通过调用JS打开新窗口,上述方法就会失效并出错(还存在别的打开新窗口方式导致上述方法失效)

    请问有没有别的方法使WebBrowser可以解决这个问题呢?

    我想IE能正确响应WebBrowser发出的信息,那我们应该也有办法截取这个信息,并在WebBrowser正确打开网页.

     

    问题二:

    请问try catch语句的效率如何?

    我在程序中有些需要判断的地方,使用try catch语句从页实现较简单地代码.这样会不会使程序的执行效率比用一般的if else方法低?

    例如:

    一般使用以下判断
    if(a!=0)
    {
    c = b/a;
    }
    else
    {
    MessageBox.Show("除数不能为0");
    }

    如果用以下方法:
    try
    {
    c = b/a;
    }
    catch
    {
    MessageBox.Show("除数不能为0");
    }

     

    先撇开出错的原因是不是只是除数不能为0这一问题,用try catch方法编程会使程序运行效率低下吗?

    2010年5月2日 5:21

全部回复