2012-10-18 172 views
0

我有一個多行textBox1和webbrowser1在字符串[]內做一個循環?

當文件完成時,我想程序用一行填充一個元素然後做一些事情然後用第二行填充相同的元素等...... ......

代碼:

 HtmlEleme ele = webBrowser1.Document.GetElementById("element ID"); 
     if(ele != null) 
       ele.InnerText = textBox1.Lines[0]; 

我怎麼能做出這樣(的同時,或......),以及如何???

和我應該把代碼?

+0

那麼你的意思做做的缺點填充元素之後的東西? – aliassce

+0

標題中沒有標籤。此外:你究竟想要做什麼?向我們展示一個元素在代碼「處理」之前和之後的樣子。 – Kiril

+0

做些什麼是:點擊一個按鈕或更改元素值 –

回答

1

如果當您單擊該按鈕瀏覽器會加載頁面,您可以遵循這樣的:

bool loaded; 
void Operate() 
{ 
      string[] lines = TextBox1.Text.Split('\n'); 
      webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser1_DocumentCompleted); 

      for (int i = 0; i < lines.Length; i++) 
      { 
       loaded = false; 
       HtmlElement ele = webBrowser1.Document.GetElementById("element ID"); 
       ele.InnerText = lines[i]; 
       //click a button here 
       HtmlElement elmbutton = webBrowser1.Document.GetElementById("ButtonID"); 
       elmbutton.InvokeMember("click"); 
       //here wait for web browser navigate. 
       while (!loaded) 
       { 
        System.Threading.Thread.Sleep(10); 
        Application.DoEvents(); 
       } 
      } 

     } 

     void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) 
     { 
      loaded = true; 
     } 

在另一方面,我必須警告你Application.DoEvents()

+0

我真的很感謝你 –

+0

不客氣! – aliassce

+0

但 「裝」 –

相關問題