我尝试在Webbrowser中打开一个html页面。这适用于:
webBrowser1.Navigate("http://examplepage.com");
但后来我想自动滚动到用户定义的坐标(x,y)。我认为这一定是:
webBrowser1.Document.Window.ScrollTo(0, 10);
如果我启动程序,我会收到以下错误消息:
未处理NullReferenceException未将对象引用设置为对象实例
以下是完整的代码:
namespace Blitzer
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
System.Windows.Forms.WebBrowser webBrowser1 = new System.Windows.Forms.WebBrowser();
webBrowser1.Navigate("http://www.examplepage.com");
webBrowser1.Document.Window.ScrollTo(0, 10);
}
}
}
答案 0 :(得分:0)
webbrowser以异步方式导航,因此如果您在开始导航后立即尝试访问该文档,则它将不会被加载。
尝试创建DocumentCompleted事件处理程序并在那里滚动:
private void button1_Click(object sender, EventArgs e)
{
System.Windows.Forms.WebBrowser webBrowser1 = new System.Windows.Forms.WebBrowser();
webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser1_DocumentCompleted);
webBrowser1.Navigate("http://www.examplepage.com");
}
void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
webBrowser1.Document.Window.ScrollTo(0, 10);
}