C#获取当前时间并自动运行?
我想获取当前时间后显示在文本框内,然后它还要根据当前本机时间在运行而运行,就是说获取的时间是20:00:30,显示出来后,那就接着往下走,这个该怎么弄? 展开
直接用代码实现
首先在窗体中添加 一个 textbox 控件
请参照图片填写代码
https://iknow-pic.cdn.bcebos.com/58ee3d6d0665599e42169460?x-bce-process=image/quality,q_85?t=1311266880375&t=1311266904890
然后代码:
using System;
using System.Windows.Forms;
using System.Threading ;
delegate void AppendStringDelegate(string str);
AppendStringDelegate appendStringDelegate;
Thread thread;
public Form1()
{
InitializeComponent();
appendStringDelegate = new AppendStringDelegate(AppendString);
thread = new Thread(new ThreadStart(ShowTime));
thread.Name = "时钟";
thread.Start();
}
private void AppendString(string str)
{
textBox1.Text = str;
}
protected void ShowTime()
{
while (true)
{
string now = DateTime.Now.ToString();
this.textBox1.Invoke (appendStringDelegate, now);
Thread.CurrentThread.Join(1000 * 1);//阻止1分钟
}
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
thread.Abort();
thread.Join();
MessageBox.Show("程序已关闭");
}
2024-07-18 广告
首先拉一个TEXTBOX1和一个时间控件timer1
在timer1的tick事件里写上
timer1.Interval = 1000;
string now = DateTime.Now.ToString();
textBox1.Text = now;
在窗体的LOAD时间写上
timer1.Enable=true;
搞定
Enable是Enabled吧?我用的VS2010的多谢!不过能否说明下这些代码都是什么意思?
string now = DateTime.Now.ToString();
这个我知道获取当前时间,now是保存在string now类型变量中,然后显示在 textBox1中吗?
timer1.Interval = 1000;
这个为什么是一千呢?
哎呀 打错了。。嗯嗯,是用一个字符串获取当前系统的时间,然后赋值给textBox1..
Interval属性是timer1执行的频率,单位为毫秒
1000毫秒=1秒
即控件会一秒执行一次
计时器会用,但是这个要获取之后还得继续运行就不好弄了,现在我就只能用计时器个计时器,就是单击开始后从毫秒开始计时然后到100秒加以,秒到60,分加1,分到60小时加一,一楼写的方法不错!
我用的vs