内容都能填写进去,但是总是在填写内容之前就单击了“发帖”按钮,请问如何解决。
我试了在填写完毕后用 线程延迟 ,不顶用,连填写都延迟了。        private void FaTieEvent(object sender, WebBrowserDocumentCompletedEventArgs e) // 发帖事件
        {
            try
            {
                HtmlElement eTxbTitle = wb.Document.All["subject"];
                HtmlElement eTxbBody = wb.Document.All["textarea"];
                HtmlElement eBtnSend = wb.Document.All["submit"];                if (eTxbTitle == null || eTxbBody == null || eBtnSend == null)
                {
                    return;
                }                eTxbTitle.SetAttribute("value", txbBT.Text);
                eTxbBody.OuterText = txbXT.Text;                eBtnSend.InvokeMember("click");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "! ! ! 发 帖 模 块 ! ! !", MessageBoxButtons.OK, MessageBoxIcon.Stop);
            }
        }

解决方案 »

  1.   

                    eTxbTitle.SetAttribute("value", txbBT.Text);
                    eTxbBody.OuterText = txbXT.Text;                Thread.Sleep(3000); // 我试了这句,结果连填写都延迟了                eBtnSend.InvokeMember("click");
    难道用Timer?如果用Timer,会不会在多线程里面造成混乱啊.
      

  2.   

    哦,原来不是提前触发click的事
    而是这样填写进去,论坛认为没有填写。
    我试了一下,程序自动填好后,我手工单击提交按钮,它照样提示“请填写完标题栏或内容%¥……&¥%”
      

  3.   

    标题没问题,内容需要手工填写,难道textarea不能eTxbBody.OuterText = txbXT.Text;这样用?
      

  4.   

    <textarea class="autosave" name="message" rows="10" cols="60"  id="p_textarea">要填写的内容</textarea>
    这种标记如何填写呢......
    刚刚试了一下 eTxbBody.OuterHtml = "<TEXTAREA class=autosave id=posteditor_textarea style=\"DISPLAY: none; WIDTH: 99%; HEIGHT: 250px\" tabIndex=100 name=message rows=10 cols=60>" + txbXT.Text + "</TEXTAREA>";
    不行...
      

  5.   

    自动向textarea里面填写内容还未解决。
    自己顶
      

  6.   


    eTxbBody.InnerText = txbXT.Text;改成InnerText不管用,什么都填不进去。