设置WebBrowser控件(C#/.NET)内文本区域的值

设置WebBrowser控件(C#/.NET)内文本区域的值,c#,.net,html,webbrowser-control,C#,.net,Html,Webbrowser Control,我希望使用.NET WebBrowser控件设置TextArea的值 我已经能够使用以下代码设置文本框的值(将“用户名”替换为文本框的名称): 我尝试在TextArea上使用类似的代码(使用GetElementById),但没有记住TextArea输入类型不包含“Value”属性。我还尝试设置TextArea的InnerHtml和InnerText,但编译器在尝试设置TextArea输入的值时继续抛出空引用异常错误或索引越界错误 有人知道如何使用WebBrowser控件在TextArea中设置文

我希望使用.NET WebBrowser控件设置TextArea的值

我已经能够使用以下代码设置文本框的值(将“用户名”替换为文本框的名称):

我尝试在TextArea上使用类似的代码(使用GetElementById),但没有记住TextArea输入类型不包含“Value”属性。我还尝试设置TextArea的InnerHtml和InnerText,但编译器在尝试设置TextArea输入的值时继续抛出空引用异常错误或索引越界错误


有人知道如何使用WebBrowser控件在TextArea中设置文本吗?任何建议都将不胜感激

假设您有以下HTML:

<html>
<body>
   <textarea id='foo'>Testing</textarea>
</body>
</html>

以下几点,以防您没有意识到:

  • GetElementById将只返回单个项或null,它不是集合
  • 如果尝试将一个WebBrowser控件实例中的元素插入到另一个WebBrowser控件实例的元素中,将引发索引越界错误
  • GetElementBy..可以直接从WebBrowser.Document属性运行,因此无需访问All[]集合
<html>
<body>
   <textarea id='foo'>Testing</textarea>
</body>
</html>
HtmlElement textArea = webBrowser1.Document.All["foo"];
if (textArea != null)
{
    textArea.InnerText = "This is a test";
}