父对话框传个数组到子对话框里,里面有差不多4000条数据需要combobox 显示出来 combobox里面有树形折叠不会显示不适合改用其他控件的问题 这里就还是combobox,子对话框专门起了个线程来addstring  但是要5秒的时间才能全部显示完的,我感觉有点慢了,如果用户没有等待直接打开窗口又关闭了,那线程里涉及到addstring的控件肯定报错了,这个有什么好的方法可以解决啊~~4000条数据 5秒了~~

解决方案 »

  1.   


    这个是可以,关键是5秒的时间能不能再优化的啊,呵呵,如果用户打开对话框,马上点击combobox 字段都可以看得出在不断的addstring 一行行的增加
      

  2.   


    这个是可以,关键是5秒的时间能不能再优化的啊,呵呵,如果用户打开对话框,马上点击combobox 字段都可以看得出在不断的addstring 一行行的增加
    那还得看你对话框怎么用的,每次打开这个对话框都是新建立么?要是新建立,那每次都得添加一次,需要5秒,如果第一次建立完,以后再打开对话框,就是show下,那就不用添加了。
    最好在主窗口初始化时,你这个窗口对象就已经存在,并也开始初始化,这样就调用你的线程进行添加数据了。当然这样会费空间
      

  3.   


    这个是可以,关键是5秒的时间能不能再优化的啊,呵呵,如果用户打开对话框,马上点击combobox 字段都可以看得出在不断的addstring 一行行的增加
    那还得看你对话框怎么用的,每次打开这个对话框都是新建立么?要是新建立,那每次都得添加一次,需要5秒,如果第一次建立完,以后再打开对话框,就是show下,那就不用添加了。
    最好在主窗口初始化时,你这个窗口对象就已经存在,并也开始初始化,这样就调用你的线程进行添加数据了。当然这样会费空间嗯,现在发现了时间消耗都是在 addstring 检查遍历之前有没有重复项上面的,还在想怎么解决 呵呵
      

  4.   

    “addstring 检查遍历之前有没有重复项上面的”
    保留一份 已经加进去的 表。 
    显示,查找 方便。要不 就 使用 hash 来做