您的位置:程序门 -> .net技术 -> c#



80分求救:同时打开几十个webbrowser时没有调用show方法却自动显示出来.


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


80分求救:同时打开几十个webbrowser时没有调用show方法却自动显示出来.[已结贴,结贴人:luwenshuo]
发表于:2007-01-02 15:06:09 楼主
同时打开几十个webbrowser时,并没有调用它们的show()方法.为何有时webbrowser打开网页失败时会自动把webbrowser显示出来,而有时侯却又不会?

调用的代码:
for   (int   j   =   pagestartnum;   j   <   pagestartnum   +   loopcount;   j++)
{
htmlanalysis   htmanalysis   =   new   htmlanalysis();
                            string   url   =   websiteurl   +   "& "   +   suburl   +   "= "   +   currindustrycode   +   "& "   +   paginationfalg   +   "= "   +   j;
                            htmanalysis.startprocess(url);
                            htmanalysis   =   null;
                          thread.sleep(500);
}

class   htmlanalysis的代码:
                        try
                        {
                                uri   uri   =   new   uri(url);
                                page.scripterrorssuppressed   =   true;
                                page.navigate(uri);
                                page.left   =   -page.width;
                                page.documentcompleted   +=   new   webbrowserdocumentcompletedeventhandler(process);
                        }
                        catch   (exception   ex)
                        {
                                displaymessage(ex.tostring());
                        }

private   void   process(object   sender,   webbrowserdocumentcompletedeventargs   e)
                {
                                if   (page.readystate   ==   webbrowserreadystate.complete)
                                {
                                        try
                                      {
                                      ******************
                                      }
                                      catch   (exception   ex)
                                      {
                                        htmlanalysis.failcount++;
                                        messagebox.show(ex.message);
                                    }
                                    finally
                                    {
                                        page.controls.clear();
                                        page.dispose();
                                        page   =   null;
                                }
                        }

是不是dispose()的问题,有哪位遇到过这种情况?
发表于:2007-01-02 15:11:011楼 得分:0
page是webbrowser对象
在htmlanalysis   class中定义的webbrowser   page   =   new   webbrowser();
发表于:2007-01-02 15:45:092楼 得分:0
自己顶..别沉了.

怎么还没有高手来.
发表于:2007-01-02 15:54:183楼 得分:80

是不是你本来想用webbrowser读取网页又不想界面显示出来,   但是界面偶尔又显示出来了?
发表于:2007-01-02 16:00:094楼 得分:0
是的.就是这样.
应该怎样解决?
发表于:2007-01-02 16:28:385楼 得分:0

是不是因为调用了                   htmanalysis   =   null;

?

当   page.documentcompleted   +=   new   webbrowserdocumentcompletedeventhandler(process);
调用的process()还未执行时,   htmanalysis   却为   null   了?


发表于:2007-01-04 09:31:266楼 得分:0

up
发表于:2007-01-10 09:09:477楼 得分:0
问题已经解决了就是dispose()的问题.
很奇怪,如果webbrowser打开website失败,dispose就会出现这中问题.


快速检索

最新资讯
热门点击