我当前的代码适用于iframe之外的元素.我应该如何使用getElementById在iframe中获取元素?我的最终目标是在<body id="tinymce"><p>...</p></body>标签内写文字.我没有使用webBrowser控件 - 这是针对iexplore的外部实例
HTML示例

代码示例
foreach (InternetExplorer ie in new ShellWindowsClass())
{
if (ie.LocationURL.ToString().IndexOf("intranet_site_url") != -1)
{
IWebBrowserApp wb = (IWebBrowserApp)ie;
while (wb.Busy) { Thread.Sleep(100); }
HTMLDocument document = ((HTMLDocument)wb.Document);
// FETCH BY ID
IHTMLElement element;
HTMLInputElementClass hitem;
element = document.getElementById("tinymce");
hitem = (HTMLInputElementClass)element;
hitem.value = first_name;
// FETCH BY ID in IFRAME
IHTMLFramesCollection2 hframes = document.frames;
for (int i = 0; i < hframes.length; i++)
{
object ref_index = i;
IHTMLWindow2 currentFrame = (IHTMLWindow2)hframes.item(ref ref_index);
if …Run Code Online (Sandbox Code Playgroud) 我是C#的新手,我正试图围绕面向对象的编程.这就是我想要完成的事情:
我有一个带有Form1的Windows窗体应用程序和一个名为connect(相同的命名空间)的单独类.
我知道在执行大量代码时使用后台工作人员是一种好习惯(以免冻结UI).所以我在Form1中创建了一个后台工作程序和一个progresschanged句柄.我试图找到如何在单独的连接类中触发progresschange.在Form1的progresschange块中,我有一个case/switch,用于确定屏幕上显示的文本.
解决这个问题的最佳方法是什么?我可以把背景工作者传给其他班级吗?