日期:2014-05-16  浏览次数:20792 次

webbrowser的问题
webbrowser中有一个html,其中有一个图片的超链接,我想在点击超链接的时候,打开一个新的winform,而不是网页跳转,我在webBrowser1_Navigating中处理,代码如下:

string[] tmp = webBrowser1.StatusText.Split('?')[1].Split('&');

            if (tmp[0].Split('=')[1] == "image")
            {
                e.Cancel = true;
                string ids = tmp[1].Split('=')[1];
                pictureTest p = new pictureTest();
                p.images = ids;
                p.ShowDialog();
            }

跳转取消了,但是p没弹出,请问这是为什么?我如何才能让p弹出呢
------解决方案--------------------
应该在newwindow中处理。
http://www.codeproject.com/Articles/71592/How-to-easily-capture-the-NewWindow-event-and-det

http://blogs.artinsoft.net/Mrojas/archive/2009/08/07/Extended-WebBrowser-Control-Series-NewWindow3.aspx
------解决方案--------------------
我写了个小的测试程序,新的dialog可以跳出啊。


private void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e)
        {
            if (e.Url.AbsoluteUri.Contains("contact"))
            {
                e.Cancel = true;
                Form2 newForm = new Form2();
                newForm.ShowDialog();
                
            }
        }


Form2是一个空的Form