C#.NET跨线程调用控件
2015-04-02 11:40
253 查看
//定义线程和线程操作方法的委托
private delegate void FlushClient();
private Thread _trStop;
//开启线程
_trClose = new Thread(WinClose);
_trClose.Start();
//线程对应的方法
private void WinClose()
{
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();
}
}
}
private delegate void FlushClient();
private Thread _trStop;
//开启线程
_trClose = new Thread(WinClose);
_trClose.Start();
//线程对应的方法
private void WinClose()
{
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();
}
}
}
相关文章推荐
- c#.net WinForm 线程内 调用窗体控件
- .net C# 跨越线程调用窗体上的控件一个完整的例子
- 线程调用控件C#
- c#跨线程调用控件
- c#中如何跨线程调用windows窗体控件
- c#中如何跨线程调用windows窗体控件?
- c#中跨线程调用windows窗体控件
- C#跨线程调用窗体控件
- C#.net中web工程中创建用户控件和被调用的方法
- paip.c#.net 多线程调用控件的问题
- c#中如何跨线程调用windows窗体控件?
- C#跨线程调用窗体控件
- C#.NET跨线程控件的相关操作
- c#中如何跨线程调用windows控件
- 一个DataGrid分页控件,c#写的,再vb.net中调用,将会不断完善的
- C#跨线程调用窗体控件
- C++.net如何跨线程调用windows控件
- C# .NET 在一个线程中访问另一个线程的控件
- c#跨线程调用控件、函数的问题
- c#中跨线程调用windows窗体控件