1

我是C#的初學者。我正在使用C#.net開發一個Web應用程序。延遲顯示幾個文本框使用線程

我的問題是,當我點擊一個按鈕時,我需要在Web窗體中逐個顯示一些文本框,以保持一些延遲。 我輸入了像這樣的按鈕點擊事件;

textBox1.Text = C1.ToString(); 
    Thread.Sleep(5000); 

    textBox2.Text = C2.ToString(); 
    Thread.Sleep(5000); 

    textBox3.Text = C3.ToString(); 
    Thread.Sleep(5000); 

    textBox4.Text = C4.ToString(); 

這裏C1,C2,C3,C4是存儲一些值的整數變量。
輸出在(5000 * 3)= 15000個時間段(15秒後)後立即顯示所有4個文本框。

但實際上我需要它們在每5秒後逐一顯示。 當我按下按鈕時,textBox1應該顯示,textBox2應該在5秒後顯示。 我該怎麼做? 我可以使用線程來做到這一點嗎?或者請告訴我一個更好的方法。 請幫助我..

+2

當網頁呈現,它是完全呈現,併發送回客戶端。要做任何動畫,你需要在客戶端上使用Javascript。 – cjk 2013-02-27 13:33:32

+0

我不是網絡專家,但我認爲它必須在客戶端完成,即通過JavaScript。 – 2013-02-27 13:34:07

+0

您已將所有線程的時間間隔設爲5000 – NetStarter 2013-02-27 13:35:50

回答

0

你想要做的是把所有的文本框的頁面,但隱藏在<div><span>並設置其風格hidden。然後使用一些JavaScript延遲緩慢顯示他們一個。

這是一個很好的關於在javascript中隱藏和顯示網頁元素的小教程。 http://www.javascriptkit.com/javatutors/dom3.shtml

這裏是如何延遲放映的JavaScript將工作:

<script type="text/javascript"> 
    setTimeout(function() {showText1()}, 5000); 

    function showText1() { 
     //javascript to set textbox1's div/span to visible 
     setTimeout(function() {showText2()}, 5000); 
    } 

    function showText2() { 
     //javascript to set textbox2's div/span to visible 
     setTimeout(function() {showText3()}, 5000); 
    } 

    function showText3() { 
     //javascript to set textbox3's div/span to visible 
    } 
</script>