namespace PizzaSoftware.UI
{
/// <summary>
/// Interaction logic for LoginForm.xaml
/// </summary>
public partial class LoginForm : Window
{
public LoginForm()
{
InitializeComponent();
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
Timer timer = new Timer(1000);
timer.Elapsed += new ElapsedEventHandler(timer_Elapsed);
timer.Enabled = true;
}
void timer_Elapsed(object sender, ElapsedEventArgs e)
{
lblCurrentTime.Content = DateTime.Now.ToShortTimeString();
}
}
}
Run Code Online (Sandbox Code Playgroud)
基本上,我只是想在我的表单上设置一个显示当前时间的标签.我在另一个问题中建议使用Timer.
我收到了标题中的错误.我该怎么做才能解决这个问题?
Jon*_*eet 18
嗯,最简单的方法是使用DispatcherTimer
- 它将Tick
在调度程序线程中触发它的事件:
DispatcherTimer timer = new DispatcherTimer();
timer.Interval = TimeSpan.FromMilliseconds(1000);
timer.IsEnabled = true;
timer.Tick += timer_Elapsed;
Run Code Online (Sandbox Code Playgroud)
或者,您可以使用Dispatcher.Invoke
/ BeginInvoke
在调度程序线程中执行委托......但这将更复杂.如果您需要在每个计时器上执行重要工作,然后只使用结果更新UI,这将是一种更好的方法 - 但由于您在这里根本没有做太多工作,所以在UI中完成所有工作都没关系线.
归档时间: |
|
查看次数: |
4842 次 |
最近记录: |