//定义线程和线程操作方法的委托
private delegate void FlushClient();
private Thread _trStop;
//开启线程
_trClose = new Thread(WinClose);_trClose.Start();
//线程对应的方法
{
Thread.Sleep(8 * 1000);
while (true)
{
Thread.Sleep(1 * 100);
ThreadFunction();
}
}
//方法操作的内容。InvokeRequired和Invoke
private void ThreadFunction()
{
if (panel1.InvokeRequired)
{
FlushClient fc = new FlushClient(ThreadFunction);
Invoke(fc);
}
else
{
_opacity -= 0.05;
Opacity = _opacity;
if (_opacity < 0.1)
{
WinApi.AnimateWindow(Handle, 500, WinApi.AW_SLIDE | WinApi.AW_VER_POSITIVE | WinApi.AW_HIDE);
Hide();
_trClose.Abort();
}
}
}