这是运行界面 后台一直下载文件呢 但是界面会卡死 dataGridView显示滚动条没有了 不可滚动 右面的数据也看不到  
代码简化如下:
          Thread oThread = null;
        private void btnStart_Click(object sender, EventArgs e)
        {
            if (btnStart.Text == "启动")
            {   oThread = new Thread(new ThreadStart(Start));
                oThread.Start();
            }
        }
        void Start()
        {
            timer1.Stop();
            DounloadFunc();
            oThread.Abort();
        }
        private void DounloadFunc()
        {
            CheckForIllegalCrossThreadCalls = false;
            dataGridView1.DataSource=m.ExistedUnhandledFiles;
              //中间是文件下载的代码
          }

解决方案 »

  1.   

      oThread.Abort();去掉
     dataGridView1.DataSource=m.ExistedUnhandledFiles;
     这个要UI线程,而且是thread执行完后执行,其他代码有没有操作UI的
      

  2.   

    我必须先把dataGridView1数据源绑定了 然后才能执行下载的程序
      

  3.   

              Thread oThread = null;
            private void btnStart_Click(object sender, EventArgs e)
            {
                if (btnStart.Text == "启动")
                {
                   timer1.Stop();
                   Start();
                }
            }
            void Start()
            {
                oThread = new Thread(new ThreadStart(DounloadFunc));
                oThread.Start();
            }
            private void DounloadFunc()
            {
                CheckForIllegalCrossThreadCalls = false;
                dataGridView1.DataSource=m.ExistedUnhandledFiles;
                  //中间是文件下载的代码
              }
      

  4.   

    把进程放在DOWN那里 线程内不要操作TIMER
      

  5.   

    dataGridView1 绑定数据库拖到线程外执行  数据传的有点麻烦  唉唉 先这么滴吧