使用Threads延迟逐个显示几个文本框

时间:2013-02-27 13:29:23

标签: c# multithreading visual-studio-2010 web-applications asp.net-4.0

我是C#的初学者。我正在使用C#.net。

开发一个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,并在5秒后显示textBox2。 我怎么能这样做? 我可以使用线程执行此操作吗?或者请告诉我更好的方法。 请帮帮我..

1 个答案:

答案 0 :(得分: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>