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

急救……Winform画面加载速度慢
各位,
本人用 第三方控件“DevExpress”做一个项目,
有些画面的控件数目比较多,初次加载的时候很慢,
慢得让人受不了。

请问有什么方法解决这样的问题??

------解决方案--------------------
1.做个Loading界面
2.减少控件数量,尽量采用集合控件,如ListView,DataGridView之类的
------解决方案--------------------
不知道你是不是自己对他的控件二次封装,二次封装与LayoutControlGroup有一定的冲突,内存还经常不能释放(一般要强制回收资源)
 [DllImport("kernel32.dll")]
        private static extern bool SetProcessWorkingSetSize(IntPtr process, int minSize, int maxSize);
        public static void FlushMemory()
        {
            GC.Collect();
            GC.WaitForPendingFinalizers();
            if (Environment.OSVersion.Platform == PlatformID.Win32NT)
                SetProcessWorkingSetSize(Process.GetCurrentProcess().Handle, -1, -1);
        }
 最好不要混用,如果窗体大小是‘不可以’改变的话建议直接用panel做容器,用它的layoutcontrol控件徒增一倍



------解决方案--------------------
开一个线程提前先加载,需要的时候显示
或者搞个panel盖住加个等待的进度条
------解决方案--------------------

DevExpress本来就非常"沉重"。
不过可以从数据量,加载方式上面入手优化。