zoukankan      html  css  js  c++  java
  • c# 运行大运算程序主窗体卡掉的解决

         写了一个运算过滤大文本的程序, 其中方法里边使用了多线程,并行线程等方法.  但主窗体控件直接使用此方法时,页面卡顿.所以主线程被堵塞. 代码如下, splitfile 这个方法运行时页面卡顿,阻塞了主线程

      private void button3_Click(object sender, EventArgs e)
            {
                marqueeProgressBarControl1.Visible = true;
                marqueeProgressBarControl1.Properties.ShowTitle = true;
                marqueeProgressBarControl1.Text = "数据处理中...请稍后...";
               string file = txtPath.Text.Trim();
               SpiltFile(file, 1);
              marqueeProgressBarControl1.Visible = false;
            }

    改成这样:

        marqueeProgressBarControl1.Visible = true;
    
                marqueeProgressBarControl1.Properties.ShowTitle = true;
                marqueeProgressBarControl1.Text = "数据处理中...请稍后...";
               
                Thread thread = new Thread(new ThreadStart(Run)); thread.Start();

    涉及到方法里边访问控件的问题,所以要使用专门为ui 主线程留下的invoke

       this.Invoke(new EventHandler(delegate {
                    this.marqueeProgressBarControl1.Visible = false;
                }));
  • 相关阅读:
    七、python抽象
    六、python条件、循环及其它语句
    泛型数组
    判断数组是否包含此元素
    数组倒序
    Class字节码文件获取的三种方法
    操作系统的产生
    Java重载的概述
    表设计遵循的三大范式实例
    pyqt5窗体分隔
  • 原文地址:https://www.cnblogs.com/zuochanzi/p/7457250.html
Copyright © 2011-2022 走看看