回覆列表
  • 1 # 使用者3554711509254

    你的方法可能時間太長。而在控制元件事件裡的程式是與介面執行緒同一個,一但時間長介面就死了。

    辦法是:把你的工作方法放在一個單獨的方法裡,然後:

    1. 用Threading.Thread類:

    System.Threading.Thread th = new Thread(new ThreadStart(this.DoWirk));

    th.Start();

    2. ThreadPool:

    System.Threading.ThreadPool.QueueUserWorkItem(new System.Threading.WaitCallback(this.DoWork), null)

    第兩個引數是傳給執行緒用的引數。

    2. 用backgroupworker控制元件. 功能多一些。

    private void backgroundWorker1_DoWork(object sender,

    DoWorkEventArgs e)

    {

    BackgroundWorker worker = sender as BackgroundWorker;

    e.Result = this.DoWork();

    }

  • 中秋節和大豐收的關聯?
  • 薔薇開了怎麼造句?