日期:2014-05-17  浏览次数:20807 次

窗体Load事件时方法太多,造成加载很慢,如何解决?
本帖最后由 oBradPitt 于 2012-12-03 09:12:50 编辑
private void frmma3004_Load(object sender, EventArgs e)
        {
            BLL.BFRMMA3004.addToSource(txtPlantNo, "frmma3004;19", true);
            BLL.BFRMMA3004.addToSource(txtMange, "frmma3004;20", false);
            BLL.BFRMMA3004.addToSource(txtProviderNo, "frmma3004;21", true);
            Language();
            Clear();
        }

FormLoad时,加上这几个方法之后,加载速度变得实在太慢了!如何破?
请各位不吝赐教!
另请教用线程的解决之道.
------最佳解决方案--------------------
引用:
引用:推荐你自己封装 事件来处理,楼上说的异步多线程 也可以的。可不可以具体说说呢!


1.http://blog.csdn.net/qiaohuyue/article/details/8250344

这里有介绍 委托异步回掉。

2.你可以在你的功能类里定义事件例如:
public event EventHandler<T> CustomEvent;


public event EventHandler<T> CustomEvent
{
    add{;}
    remove{;}
}


------其他解决方案--------------------
把控件直接传到BLL去了?这种方式不妥吧,如果BLL给WEB程序用呢?
------其他解决方案--------------------
用BackgroundWork 控件异步加载

------其他解决方案--------------------
异步加载。。。。。

------其他解决方案--------------------
可以使用异步多线程解决
------其他解决方案--------------------
推荐你自己封装 事件来处理,楼上说的异步多线程 也可以的。
------其他解决方案--------------------
其实就是用委托
------其他解决方案--------------------
用多任务吧。。别浪费CPU
------其他解决方案--------------------
引用:
异步加载。。。。。
哦,第一次见到这个词,我搜搜先..谢
------其他解决方案--------------------
引用:
推荐你自己封装 事件来处理,楼上说的异步多线程 也可以的。
可不可以具体说说呢!