1

我想定义一个公共函数,通过它我可以在 Web 浏览器控件中设置某些控件的默认值。Web 浏览器显示一个 HTML 文件。到目前为止,这是我想出的;但是,发生了“未处理 NullReferenceException”:

public void SetDefaultValue(string ControlID,string Value)
{
    webBrowser1.Document.GetElementById(ControlID).InnerText = Value;
}
4

2 回答 2

1

您需要等待文档正确加载

public void WebBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) 
{
   var webBrowser = sender as WebBrowser;
   webBrowser.DocumentCompleted -= WebBrowser_DocumentCompleted;

  webBrowser1.Document.GetElementById("Name").InnerText = "Hello World";

}    

private void btnClick(object sender, EventArgs e)
{
     var wbrowser = new WebBrowser(); // or can be existing object
      // Add web broswer to form or panel here.. 
     wbrowser.DocumentCompleted +=new WebBrowserDocumentCompletedEventHandler(WebBrowser_DocumentCompleted);
     wbrowser.Navigate("your_page_url_here");
}
于 2013-04-07T05:23:37.493 回答
1

我为你写了一个例子:拳头Navigate到你的地址或设置它的DocumentText.

 private void Form1_Load(object sender, EventArgs e)
        {
             webBrowser1.DocumentText = "<html><body><textarea id=\"Name\" name=\"comments\" cols=\"16\" rows=\"1\">Some Things</textarea></body></html>";
        }

当您的页面加载时,您可以获得它的元素。

 private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
         webBrowser1.Document.GetElementById("Name").InnerText="Some Thing";
        }
于 2013-04-07T05:25:32.030 回答