C#中WebBrowser该如何跳转网页啊? 20
我用c#些=写一个winform程序,在窗体上加入一个webbrowser控件,我想要实现点击一个网页链接时进行页内跳转(网页本身不是页内跳转,比如说百度)。我用了pri...
我用c#些=写一个winform程序,在窗体上加入一个webbrowser控件,我想要实现点击一个网页链接时进行页内跳转(网页本身不是页内跳转,比如说百度)。
我用了
private void webBrowser1_NewWindow(object sender, CancelEventArgs e) {
Uri url = new Uri(((System.Windows.Forms.WebBrowser)sender).StatusText);
webBrowser1.Navigate(url);
webBrowser1.Refresh();
e.Cancel = true;
}
这一招。我在Load事件里面写了webBrowser1.Navigate(“http://www.hao123.com”);所以一开始打开的是hao123,但是我点击了里面的任何超链,明显感觉到网页的刷新,但是页面还是hao123。webBrowser1.Navigate(url);这一句好像根本就没有执行的样子。求指点解决方案!到底要怎么样才能让webbrowser跳转网页???谢谢 展开
我用了
private void webBrowser1_NewWindow(object sender, CancelEventArgs e) {
Uri url = new Uri(((System.Windows.Forms.WebBrowser)sender).StatusText);
webBrowser1.Navigate(url);
webBrowser1.Refresh();
e.Cancel = true;
}
这一招。我在Load事件里面写了webBrowser1.Navigate(“http://www.hao123.com”);所以一开始打开的是hao123,但是我点击了里面的任何超链,明显感觉到网页的刷新,但是页面还是hao123。webBrowser1.Navigate(url);这一句好像根本就没有执行的样子。求指点解决方案!到底要怎么样才能让webbrowser跳转网页???谢谢 展开
2个回答
展开全部
用如下代码实现鼠标点击的模拟,只要手动能点过去的,自动的也可以;
private void herfclick(string url)
{
for (int i = 0; i < webBrowser1.Document.All.Count; i++)
{
if (webBrowser1.Document.All[i].TagName == "A" && webBrowser1.Document.All[i].GetAttribute("href").ToString().Trim() == url)
{
webBrowser1.Document.All[i].InvokeMember("click");//引发”CLICK”事件
break;
}
}
}
private void herfclick(string url)
{
for (int i = 0; i < webBrowser1.Document.All.Count; i++)
{
if (webBrowser1.Document.All[i].TagName == "A" && webBrowser1.Document.All[i].GetAttribute("href").ToString().Trim() == url)
{
webBrowser1.Document.All[i].InvokeMember("click");//引发”CLICK”事件
break;
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public Form1()
{
InitializeComponent();
webBrowser1.NewWindow += new CancelEventHandler(webBrowser1_NewWindow);
}
void webBrowser1_NewWindow(object sender, CancelEventArgs e)
{
e.Cancel=true;
webBrowser1.Navigate(webBrowser1.StatusText);
}
{
InitializeComponent();
webBrowser1.NewWindow += new CancelEventHandler(webBrowser1_NewWindow);
}
void webBrowser1_NewWindow(object sender, CancelEventArgs e)
{
e.Cancel=true;
webBrowser1.Navigate(webBrowser1.StatusText);
}
追问
晕,你这招过去了,新问题出现了,在点击百度搜索的时候提示脚本错误,然后webBrowser1.StatusText直接为空。怎么整啊?
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询