(c#)webbrowser 的问题

我想通过地址栏输入地址生成一个动态的WebBrowser窗体,并把这个窗体加载到TabControl控件的页片上。以下是我打的一个方法,实现的功能,可是最后一条语句有错:... 我想通过地址栏输入地址生成一个动态的WebBrowser 窗体,并把这个窗体加载到TabControl控件的页片上。以下是我打的一个方法,实现的功能,可是最后一条语句有错:linkTabControl.TabPages[linkTabControl.SelectedIndex].Text = webrowser.Document.Title; 说是:未将对象引用设置到对象的实例。还有我做了一个断点测试了WebBrowser 的加载Url的代码:webrowser.Url = new Uri(address); ,其中 webrowser.Url显示为“null”。请问是怎么回事?address(地址栏输入的地址)为什么没有输入webrowser.Url中?是没加载完吗?但是我用我的这个方法是可以实现在TabControl控件打开地址栏输入地址的网页的,就是不能显示地址栏的title标题。大家帮帮忙,谢谢了。

//判断http://是否给定的方法
private void Navigate(string address)
{
if (String.IsNullOrEmpty(address)) return;
if (address.Equals("about:blank")) return;

//StartsWith("")
if (!address.StartsWith("http://"))
{
address = "http://" + address;
}
try
{

//在页片打开地址栏输入的网址的方法
WebBrowser webrowser = new WebBrowser();

webrowser.Url = new Uri(address);

webrowser.Dock = DockStyle.Fill;

TabPage tbpages = new TabPage();

tbpages.Controls.Add(webrowser);
linkTabControl.TabPages.Add(tbpages);

linkTabControl.SelectedTab = tbpages;

linkTabControl.TabPages[linkTabControl.SelectedIndex].Text = webrowser.Document.Title;

}
catch (System.UriFormatException)
{
return;
}
}
darko2o8能不能说详细点?我的webbrower是动态生成的,请问怎么加载完全?谢谢了

还是不行啊, brower.Navigate("http://www.baidu.com");后,我在按照你说的打完了代码,也显示了“加载完成!”于是我想通过: string tit = webrowser.Document.Title;获得标题,可是不行,说是这条代码: 未将对象引用设置到对象的实例。
我尝试用webrowser.Url = new Uri(address);代替webrowser.Navigate(address); 做断点测试,在F11到webrowser.Url = new Uri(address);这段代码过后,我用鼠标指着Url,显示为“null”,请你再想想办法帮帮我,谢谢了
展开
 我来答
darko2o8
2010-01-03 · TA获得超过616个赞
知道小有建树答主
回答量:987
采纳率:0%
帮助的人:448万
展开全部
webbrower没加载完..... 我记得这个控件有个DocumentCompleted事件的 你在这个事件里面写.
你判断完了要Navigate链接到那个页面啊 你指定一个URL他不会链过去的
webrowser.Document.Title;你都没链接哪里来的标题啊

你动态生成
比如这样的
WebBrowser brower = new WebBrowser();
brower.Size = new Size(300, 300);
brower.Name = "A1";
this.Controls.Add(brower);
brower.Navigate("http://www.baidu.com");
brower.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(delegate(object websender, WebBrowserDocumentCompletedEventArgs args)
{
MessageBox.Show("加载完成!");
});
lcg1986
2010-01-03 · TA获得超过3374个赞
知道大有可为答主
回答量:1858
采纳率:90%
帮助的人:1619万
展开全部
webrowser.Url = new Uri(address);
改成:
webrowser.Navigate(address);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
你今天了
2010-01-03
知道答主
回答量:5
采纳率:0%
帮助的人:0
展开全部
TGHR
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式