2013-06-27 70 views
0

我擁有的程序應該一次打開一個鏈接。定時器設置爲10秒。我想要它做的是每次10秒通過時用不同的s [x]值調用webBrowser1.Navigate(s[x]);。即在第一個Tick上我想要s [0]去,s [1]當第二個tick發生時等等,直到s [3],然後回到s [0]。每次調用函數時獲取數組的下一個元素

private void timer1_Tick(object sender, EventArgs e) 
    { 
     string[] s = new string[4]; 

     s[0] = textBox1.Text; 
     s[1] = textBox2.Text; 
     s[2] = textBox3.Text; 
     s[3] = textBox4.Text; 

     webBrowser1.Navigate(s[0]); 
    } 
+0

那麼你的問題 - 當計時器滴答滴答發生時,你的代碼確實會得到「新」值... –

+0

不,它不是,我希望s [0]在滴答發生時轉到s [1]等等,然後回到s [0] ... – FJam

+0

然後停止傳遞一個硬編碼的s [0]值。 :-) –

回答

2

只是聲明瞭一個字段,increment它每個刻度。

private int textboxNumber; 

private void timer1_Tick(object sender, EventArgs e) 
{ 
    string[] s = new string[4]; 

    s[0] = textBox1.Text; 
    s[1] = textBox2.Text; 
    s[2] = textBox3.Text; 
    s[3] = textBox4.Text; 

    webBrowser1.Navigate(s[textboxNumber]); 

    textboxNumber++; 
    if (textboxNumber > 3) 
     textboxNumber = 0; 
} 

這可能不是解決此問題的最佳方法,但它會給你想要的。

+0

同意。可以將字符串聲明和初始化移出Tick;所有Tick需要做的是調用Navigate命令並增量。 – Arclight

+0

是的,但這是這樣,而不是CR.SE :) – DaveShaw

+0

我不熟悉你使用的首字母縮略詞。無論如何,這是更多的問題海報樣式註釋,以便他可以用它作爲參考。 – Arclight

相關問題