public static Thread DrawNoticeThread = null;
/// <summary>
/// 线程控制器
/// </summary>
public static bool ThreadState = true;
/// <summary>
/// 启动渲染公告通知窗体的线程
/// </summary>
/// <param name="frm">依托主线程的句柄</param>
/// <param name="action">当公告通知 窗体关闭时执行,发送通知给服务端,已读</param>
public static void DrawNoticeThreadStart(Form frm, Action<Guid, string> action)
{
if (DrawNoticeThread == null)
{
DrawNoticeThread = new Thread(() =>
{
while (true)
{
//控制线程的开关
while (ThreadState)
{
frm.NewInvoke(() =>
{
DrawNoticeFrm(action);
});
}
}
})
{
//随着主进程结束而结束
IsBackground = true
};
DrawNoticeThread.Start();
}
}
12-22