(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”,请你再想想办法帮帮我,谢谢了 展开
//判断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”,请你再想想办法帮帮我,谢谢了 展开
3个回答
展开全部
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("加载完成!");
});
你判断完了要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("加载完成!");
});
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询