线程调用 
 Thread th = new Thread(new ThreadStart(TRun));
 th.Start(); private void TRun()
 {
   调用委托给控制绑定
   myDelegate1 md1 = new myDelegate1(DataBindUserInfo);
   Invoke(md1);                  
 }DataBindUserInfo这个方法里面绑定一个树结构(treeview)和一个列表结构(datagrid)
数据量也不是很大   加载时候界面假死啊 有个 5 6秒吧
怎么去显示加载让他不假死啊   解决啊

解决方案 »

  1.   

    多线程操作UI,请使用Delgate 
    具体代码参考:        class Form1 : Form
            {
                public Form1()
                {
                    InitializeComponent();
                }            private void button1_Click(object sender, EventArgs e)
                {
                    run();
                }            public void run()
                {
                    for (int i = 0; i < 1500; i++)
                    {
                        writer wrt = new writer(i.ToString());
                        Thread th = new Thread(new ParameterizedThreadStart(wrt.Startwrite));
                        th.Start(this);
                    }
                }            public void SetRichTextBoxText(string str)
                {
                    this.BeginInvoke(new Action(delegate() { this.richTextBox1.Text += str; }));
                }
            }        class writer
            {
                string aline;
                public writer(string str)
                {
                    aline = str;
                }
                public void Startwrite(object form)
                {
                    Form1 f = form as Form1;
                    f.SetRichTextBoxText(aline);
                }
            }
      

  2.   

    树绑定 就是 递归啊  datagrid 就是循环绑定的
    怎么可以看到数据为一个一个现实的
    或者让 treeview 和 datagrid 这二个控件等待加载  其他不是假死状态 这最好了
      

  3.   

    那样你可以绑定的时候new一个 treeview 和 datagrid ,绑定完了再设置到画面上去。
      

  4.   

    发现问题了  是委托的问题
    因为 DataBindUserInfo 这个访问 里面还有二个方法
    分别是
     BindTreeview ( treeview 添加 )
     BindDataGrid ( datagrid 添加 )
    委托不能控制包含方法体里面的控件赋值
    只能直接包含控件赋值