计时器事件显示的表单无法正确呈现

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