wince窗体假死

先在这里记录下,这个窗体假死的事情。

场景是这样的,c# winform或者wince设备在页面跳转之后,会加载一个数量非常大的list数据到datatable中,在跳转过程中,UI窗体在渲染的过程中,加载大量的数据就会造成窗体假死的现象。

解决的大体思路:建立两个线程,一个线程用来作为UI线程渲染窗体空间,另外一个线程用来作为非UI线程来加载数据集。

解决的详情代码:.

//声明一个委托类型
public delegate void SearchEventHandler(int queryType, string text);

public void searchFromOtherController(int queryType, string text) 
{
    Thread newThread = new Thread(new ThreadStart(delegate { handlerForThreadStart(queryType, text); })); 
    newThread.Start();
}

public void handlerForThreadStart(int queryType, string text)
{
    SearchEventHandler handler = new SearchEventHandler(searchList);
    this.BeginInvoke(handler, queryType, text);
}

声明一个委托类型
 	192
//public delegate void SearchEventHandler(int queryType, string text);

定义一个委托对象
public SearchEventHandler handler = new SearchEventHandler(searchList);

//给委托对象赋值
handler = searchList;

其他控制器调用该方法
//public void searchFromOtherController(int queryType, string text)
//{
//    Thread notuithread = new Thread(new ThreadStart(handlerForThreadStart));
//    notuithread.Start();
//}

//public void handlerForThreadStart()
//{ 
//    SearchEventHandler handler = new SearchEventHandler(searchList);
//    handler();
//}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值