日期:2014-05-19  浏览次数:20830 次

C# WinForm中动态显示时间的问题---诚邀各位讨论!!
在定时器事件
private   void   timer1_Tick(   object   sender   ,   EventArgs   e   )
{
      statusLabel1.Text   =   dateTime.Year.ToString(   )   +   "/ "
      +   dateTime.Month.ToString(   )   +   "/ "
      +   dateTime.Day.ToString(   )   +   ":   "
      +   dateTime.Hour.ToString(   )   +   ": "
      +   dateTime.Minute.ToString(   )   +   ": "
      +   dateTime.Second.ToString(   );
}
中动态显示时间,时间间隔Property   Interval   =   1000,
启动定时器property   Enabled   =   true.
但是始终只显示程序运行时的静态时间,如果在事件中添加一个显示消息框的语句:
MessageBox.Show(   "Timer "   );
能每间隔1s弹出一个消息框.

这是什么原因啊?



------解决方案--------------------
private void timer1_Tick( object sender , EventArgs e )
{
dateTime=DateTime.Now;
statusLabel1.Text = dateTime.Year.ToString( ) + "/ "
+ dateTime.Month.ToString( ) + "/ "
+ dateTime.Day.ToString( ) + ": "
+ dateTime.Hour.ToString( ) + ": "
+ dateTime.Minute.ToString( ) + ": "
+ dateTime.Second.ToString( );
}

------解决方案--------------------
Load 事件里开启记时器就行了的呀。


private void timer1_Tick( object sender , EventArgs e )
{
statusLablel1.Text = DataTime.Now.Tostring();
}
Load 事件里开启记时器就行了的呀。
时间间隔Property Interval = 1000
------解决方案--------------------
dateTime是DateTime的实例,已经写了dateTime = DateTime.Now了.


就是因为你初始了实例才这样,取得的是当时的值,以后调用相当于只读,直接写代码试试看