C#中WebBrowser该如何跳转网页啊?

我用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跳转网页???谢谢

第1个回答  2013-04-14
用如下代码实现鼠标点击的模拟,只要手动能点过去的,自动的也可以;
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;
}
}
}
第2个回答  2013-04-12
public Form1()
{
InitializeComponent();
webBrowser1.NewWindow += new CancelEventHandler(webBrowser1_NewWindow);
}
void webBrowser1_NewWindow(object sender, CancelEventArgs e)
{
e.Cancel=true;
webBrowser1.Navigate(webBrowser1.StatusText);
}追问

晕,你这招过去了,新问题出现了,在点击百度搜索的时候提示脚本错误,然后webBrowser1.StatusText直接为空。怎么整啊?

本回答被网友采纳

C#中WebBrowser该如何跳转网页啊?
用如下代码实现鼠标点击的模拟,只要手动能点过去的,自动的也可以;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()...

C#如何实现用webbrowser登录成功后又跳回到登录页面?
navigationURl="javascript:parent.location.href='..\/Login.aspx'"或者top.location.href='地址'那就楼上说的 console.write(...);里面的方法不变。。。你试试看一下行不行?

c# 中实现在webBrowser控件里 打开新网页 新网页加载时的问题
webbrowser1.Navigate(url);\/\/跳转地址 this.close();\/\/关闭本窗体 这个你就算是载入新网页,要跳转的话 总得有条件吧,不能随便跳着玩啊!如果是等待网页加载完成,然后在跳转,我给你一点代码:这是用timer控件判断网页加载完成没有完成!private void timer1_Tick(object sender, EventArgs e){ i...

C#中 webbrowser 控件提交表单后怎么在原位置打开新的网页
那你得先看网页是怎么处理submit的,一般有两种思路,A,开新窗口webbrowse会触发NewWindow事件,你只要在这事件的处理代码中加入 e.Cancel=true;string url = this.wB_MainBrowser.Document.ActiveElement.GetAttribute("href");this.wB_MainBrowser.Url = new Uri(url);或者可以用个递归把链接的target...

c#中如何用WebBrowser打开本地网页
url是支持打开文件的,格式为file:\/\/路径,这里的路径的\\要换成\/。如果是相对路径,可以用Environment.CurrentDirectory获得其对应的绝对路径。例如文件放在.\/page.htm里,可以用 urlPath=Uri.UriSchemeFile+ Uri.SchemeDelimiter Path.GetFullPath(Environment.CurrentDirectory+"page.htm").Replace(Path....

c# webbrowser返回url问题
注册webbrowser1.Navigated事件 webBrowser1.Navigate(url);\/\/用这个方法跳转到指定网址 \/\/在事件处理方法中操作 toolStripTextBox1.Text = webBrowser1.Url.ToString();

web browser控件怎么用
首先创建一个WinForm程序,拖入一个textbox控件和一个button按钮,然后拖入一个panel控件,如图所示:拖入panel控件后,找到WebBrowser控件并双击,WebBrowser控件就会自动填充到panel控件上,像下面这样:之后给button改个名,双击button按钮设置一个简单的跳转行为:private void goButton_Click(object sender, ...

如何利用C#的WebBrowser进行网页的翻页
直接根据InnerText属性找到“下一页”元素,然后再模拟点击;\/\/引用mshtml;IHTMLDocument2 doc = WB1.Document.DomDocument as IHTMLDocument2;foreach (IHTMLElement ele in doc2.all){ if (ele.innerText == "下一页>"){ bl_exist = true;ele.click();break;} } ...

你好,请问C# Winform程序,如何用WebBrowser打开程序所在bin文件夹下的...
写错了,webBrowser1.Navigate(Application.StartupPath + "\\\\showmap.html");网页文件名不要空格或者有特殊符号。另外Application.StartupPath指的是你的exe所在目录,在vs中它指的实际上是你的bin下的debug或者release文件夹,所以这个html也要放在debug下。

C#,Web浏览器的设计,点击链接跳转到其它浏览器问题
可以这样改 开始→运行→输入regedit,打开注册表编辑器 找到HKEY_CLASSES_ROOT\\http\\shell\\open\\command,在右边的窗口中双击"默认",将要用浏览器的可执行文件的完全路径输入到这里,例如设置IE为默认浏览器:输入“C:\\Program Files\\Internet Explorer\\iexplore.exe”然后找到 HKEY_CLASSES_ROOT\\http\\...

相似回答