我想在我的应用程序中的 maskedtextbox 上设计更改时间,例如时间每秒都在变化的窗口。我已将 maskedtexbox1 设置如下:
maskedTextBox1.Text = DateTime.Now.ToShortTimeString();
它显示当前系统的时间很短,但它并没有像 Windows 那样每秒都在变化。怎么做?
我在 Visual Studio 2005 上,.NET低于3.5。
我想在我的应用程序中的 maskedtextbox 上设计更改时间,例如时间每秒都在变化的窗口。我已将 maskedtexbox1 设置如下:
maskedTextBox1.Text = DateTime.Now.ToShortTimeString();
它显示当前系统的时间很短,但它并没有像 Windows 那样每秒都在变化。怎么做?
我在 Visual Studio 2005 上,.NET低于3.5。
您可以使用System.Windows.Forms.Timer
每秒更新文本框值,例如:
var timer = new Timer();
timer.Interval = 1000;
timer.Tick += delegate
{
textBox1.Text = DateTime.Now.ToLongTimeString();
};
timer.Start();
我会使用计时器并每秒触发一个事件来更新时间。
Timer
包中的类实例)。Kaboom
)。在您的可执行代码中的某处,您可以通过键入以下内容来执行此操作。
Timer ticker= new Timer();
ticker.Interval = 1000;
ticker.Tick += new EventHandler(Kaboom);
在同一个类中(或者,如果你有信心怎么做,你可以在某个地方访问代码)你还为触发的滴答事件创建处理程序,以便你做出的关于在什么时候调用的方法的承诺计时器关闭保持。
private void Kaboom(Object sender, EventArgs eventArgs)
{
// Execute the tickability code
MaskedTextBox1.Text = DateTime.Now.ToShortTimeString();
}
另外,当你觉得你准备好了时,不要忘记真正开始你的代码。
MyTimer.Start();
多田!
编辑:
为了完整起见,我还将粘贴@CuaonLe 的部分回复(.NET 3.5 或更高版本的能力和要求更高的阈值)。
Timer timer = new Timer { Interval = 1000 };
timer.Tick += (obj, args)
=> MaskedTextBox1.Text = DateTime.Now.ToLongTimeString();
timer.Start();