c# winform 一个钟

来源:百度知道 编辑:UC知道 时间:2024/05/17 22:57:25
很简单,我有一个textbox1控件 想显示当前时间
是不停的显示,不是textbox1.text=datetime.now.tostring();
而是在窗体里不停的显示

public Form1()
{
InitializeComponent();
while(true)
{
thread.sleep(1000);
textBox1.Text = DateTime.Now.ToString();
}
}

这样好像不行..

楼上说的对,如果你硬要用线程操作,下面是代码:

delegate void UpdateText();

private void button1_Click(object sender, EventArgs e)
{
Thread t = new Thread(new ThreadStart(UpdateTime));
t.Start();
}

private void UpdateTime()
{
while (true)
{
Thread.Sleep(1000);
textBox1.Invoke(new UpdateText(UpdateTextFunction));
}
}

private void UpdateTextFunction()
{
textBox1.Text = DateTime.Now.ToString();
}

加个TIMER控件,再加入如下代码:
void MainFormLoad(object sender, EventArgs e)
{
timer1.Enabled=true;
timer1.Interval=1000; //时间间隔为1秒
}

void Timer1Tick(object sender, EventArgs e)
{
this.label1.Text = System.DateTime.Now.ToString();
}

你给它一个计时器,定时的显示时间不就行了,你再把你的定时时间段设的小一些,也自不出来刷新

<