毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> net技术 >> 正文

C# 怎么延时,不卡屏不休眠

更新时间:2013-4-30:  来源:毕业论文

C# 怎么延时,不卡屏不休眠

我看别人用别的易语言写的,用到createwaittabletimerA函数和setwaittabletimer函数,
不是休眠,会卡屏的。
比如
代码块;
延时(5000);
代码块;
做成一个方法能这样调用

//using System.Threading; Thread t = new Thread(o => Thread.Sleep(5000)); t.Start(this); while (t.IsAlive) {     Application.DoEvents(); } MessageBox.Show("ok");

.你用的是winform程序吧,BackgroundWorker应该是你需要的,
如果你坚持要使用多线程的话,记得用Invoke来同步线程。毕业论文 
给你一份同步线程的代码。
          delegate void SetOcxCallBack(Form F, Control c, string N, object[] V);
        public static void SetOcx(Form F, Control c, string N,object[] V)
        {
            if (c.InvokeRequired)
            {
                SetOcxCallBack socb = new SetOcxCallBack(SetOcx);
                F.Invoke(socb, new object[] { F, c, N,V });
            }
            else
            {
                BindingFlags flags = (BindingFlags.NonPublic | BindingFlags.Public |
                                         BindingFlags.Instance | BindingFlags.DeclaredOnly | BindingFlags.InvokeMethod);
               
                MethodInfo m = c.GetType().GetMethod(N);
                m.Invoke(c, V);
 
            }

        }

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。