用 sleep 卡主了  还有什么办法呢    用timer好像   之前程序里面有过一个计时器,所以再加一个在for循环里面不触发了
所以请教大家了。 

解决方案 »

  1.   

    循环里面加个Application.DoEvents();
      

  2.   

    timer  设置启动了没有
    应该是可以直接触发的。
      

  3.   

    sleep(100)
    循环里面判断次数,一次是100毫秒,10*100*60*10这是10分钟
    不到次数就继续
    到次数了就执行你循环体内的程序
    不过这个时间精确度就不够了
      

  4.   

    高难度,如果是前台,可以用SetInterval
      

  5.   

    //主窗体:
    public void ShowNewWindow()
    {
       TreeForm tf = new TreeForm();
       tf.Show();
       tf.LoadTree();
    }
    //子窗体具有一个panle一个treeview,treeview加载的时候显示panle上面有gif动画表示加载中:
    public void LoadTree()
    {
       panle1.Visible = true;
       Application.DoEvents();
       treeView1.Nodes.Clean();
       treeView1.Nodes.Add(GetNode());
       panle1.Visible = false;
    }private TreeNode GetNode()
    {
    new System.Threading.Thread(new System.Threading.ThreadStart(() =>
      {
      TreeNode tNData = RSISTree.TreeLoad();
      BeginInvoke(new System.Threading.ThreadStart(() =>
      {
      //TreeNode tNData = RSISTree.TreeLoad();
      //如果此行在Invoke就会阻塞主线程,放在外面来执行就无忧了
        
      TreeLoad(tNData);
      }));
      })) { IsBackground = true }.Start();
    }
    在网上有这个例子
    大家能否提供多线程例子 能实现 主线程即窗体不卡,"子"线程运行循环的程序  谢谢指教了