• 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;
                }));
  • 相关阅读:
    第九周学习进度
    用户场景描述
    第九天
    第10天
    求两个有序数组的中值
    计算字符串中最长子字符串的长度
    计算两个数之和
    将string 转int
    判断一个int 型整数 是否为回文数
    php 对象的一些特性
  • 原文地址:https://www.cnblogs.com/zuochanzi/p/7457250.html
Copyright © 2020-2023  润新知