C#时间实时刷新

C#时间实时刷新

public Form1()

{

InitializeComponent();

new System.Threading.Thread(() =>

{

while (true)

{

try { label1.BeginInvoke(new MethodInvoker(() => label1.Text = DateTime.Now.ToString())); }

catch { }

System.Threading.Thread.Sleep(1000);

}

})

{ IsBackground = true }.Start();

}

在实际应用中常常需要实时刷新数据,这时候就要利用到Timer。Timer的功能是在指定的时间间隔内反复触发指定窗口的定时器事件。

下面的例子实现了文本框中时间的实时刷新。

附上代码如下:

首先,文本框的属性应设为只读:

        private void Form1_Load(object sender, EventArgs e)

        {

            textBox1.Text = DateTime.Now.ToString();

            textBox1.ReadOnly = true;  //设置为只读

        }

再次,设置Timer:

        private void textBox1_TextChanged(object sender, EventArgs e)

        {

            //实例化timer,使得间隔为1000ms

            System.Timers.Timer t = new System.Timers.Timer(1000);

            t.Elapsed += new System.Timers.ElapsedEventHandler(refreshTime);

            t.AutoReset = true;//设置是执行一次(false)还是一直执行(true);

            t.Enabled = true;//是否执行System.Timers.Timer.Elapsed事件;

        }

最后,描述事件:

        //对事件的描述

        public void refreshTime(object source, System.Timers.ElapsedEventArgs e)

        {

            textBox1.Text = DateTime.Now.ToString();

        }

这是我所学到的一些知识,在此分享给大家,希望可以帮助到你们。

以上就是我的分享,新手上道,请多多指教。如果有更好的方法或不懂得地方欢迎在评论区教导和提问喔!


版权声明:本文为weixin_57739423原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。