C# 用于设置web浏览器控件中控件的默认值的函数

C# 用于设置web浏览器控件中控件的默认值的函数,c#,webbrowser-control,C#,Webbrowser Control,我想定义一个公共函数,通过它可以设置web浏览器控件中某些控件的默认值。 web浏览器显示一个HTML文件。 以下是我到目前为止的想法;但是,出现“NullReferenceException未处理”的情况: 您需要等待文档正确加载 public void WebBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { var webBrowser = sender as WebB

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


您需要等待文档正确加载

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");
}

我给你写一个例子: 首先
导航到您的地址或设置其
文档文本

 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>";
        }

NullReferenceException未处理意味着您没有具有此id的HtmlEleme,或者您的网页导航未完成。是否可以添加有关您编写内容的更多代码您可能需要等待文档准备就绪或完全加载。@irsog:我确实有一个带有此ID的htmlelement,因为我从html文件中复制了此ID,以下是我在表单中的名称load:HTMLOADWebrowser1.SetDefaultValue(“名称”、“注释”);错了吗?你可以添加html代码吗?当然可以:Name::谢谢你,我的朋友,但是Admitd的代码工作得更有效。我正在制作一个用户控件,我自己无法设置html值代码。再次感谢你,我的朋友:):谢谢你回答我的问题,你的回答对我很有帮助。
 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";
        }