计时器事件显示的表单无法正确呈现
Form shown from timer event doesn't render properly
我在 C# windows 表单中创建了应用程序,并且有 notificationForm 会在时间后显示,但是没有我的标签和图片它完全是空的。如果我手动显示此 notificationForm 一切正常。
private static void OnTimedEventZak(Object source, System.Timers.ElapsedEventArgs e)
{
Mydb context = new Mydb ();
var getReservation = context.column.Where(i => i.column_id== idForMethods).FirstOrDefault();
if (getReservation.Status_id == 2)
{
Notification p = new Notification(getReservation.column_id,false);
p.Show();
}
}
它呈现如下:
您正在使用 System.Timers.Timer,因此您在不发送消息的线程(即不是“UI 线程”)上显示表单。
Use System.Windows.Forms.Timer.
另外,配置你的上下文,考虑FirstOrDefault()
可以returnnull
。
我在 C# windows 表单中创建了应用程序,并且有 notificationForm 会在时间后显示,但是没有我的标签和图片它完全是空的。如果我手动显示此 notificationForm 一切正常。
private static void OnTimedEventZak(Object source, System.Timers.ElapsedEventArgs e)
{
Mydb context = new Mydb ();
var getReservation = context.column.Where(i => i.column_id== idForMethods).FirstOrDefault();
if (getReservation.Status_id == 2)
{
Notification p = new Notification(getReservation.column_id,false);
p.Show();
}
}
它呈现如下:
您正在使用 System.Timers.Timer,因此您在不发送消息的线程(即不是“UI 线程”)上显示表单。
Use System.Windows.Forms.Timer.
另外,配置你的上下文,考虑FirstOrDefault()
可以returnnull
。