• winform 使用线程


    我这里写一个线程里创建一个窗体调用父窗体的方法

          private void button4_Click(object sender, EventArgs e)
            {
                button4.Text = "正在加载中";
                button4.Enabled = false;
                Thread t = new Thread(new ThreadStart(open));  // 创建线程
                t.Start();  //线程开始
              
            }
            public void ssss()
            {
    
                button4.Text = "确认";
                button4.Enabled = true;
            
            }
            public delegate void xxxxx(); //定义委托
            public void ssxx()     //winfrom 中不管是不是同一个窗体跨线程访问都会报安全问题,所有需要委托窗体线程来做
            {
                xxxxx x = new xxxxx(ssss);
    
                this.Invoke(x);
            }
            public void open()
            {
                List<string> ls = new List<string>();
                for (int i = 0; i < dataGridView1.Rows.Count; i++)
                {
                    if (Convert.ToBoolean(dataGridView1.Rows[i].Cells[0].Value))
                    {
                        // MessageBox.Show(dataGridView1.Rows[i].Cells[2].Value.ToString());
                        ls.Add(dataGridView1.Rows[i].Cells[1].Value.ToString());
    
    
                    }
    
    
    
                }
    
                if (ls.Count <= 0)
                {
                    MessageBox.Show("请先选择");
                    ssxx();
                    return;
    
                }
                List<string> lstr = Class1.readzswj(mo.dr, mo.gz, ls);
                if (lstr.Count <= 0)
                {
                    MessageBox.Show("选中文件中没有表通过验证,请重新选择");
                    ssxx();
                 return;
                }
               
                xxxxx x = new Form4.xxxxx(ssxx);    //与我另一篇文章一样
              Form12 f = new Form12(mo,ls,x,lstr);
              f.ShowDialog(); //注意这里要用是这个  不能只是show() 线程做完事情后自动释放,这里窗体也会被释放掉
            
            }
  • 相关阅读:
    Java开发常用Util工具类
    冒泡排序
    EMQ 消息服务器
    将jar文件包打成exe文件
    mina框架搭建tcp服务器:编写自定义协议及编解码器
    SpringBoot中定时任务的设置
    SpringBoot项目+Shiro(权限框架)+Redis(缓存)集成
    计算两个时间之间的天数
    关于extern的使用
    ADC采样间隔问题+TRGO作为ADC的触发源头
  • 原文地址:https://www.cnblogs.com/xiongyang123/p/6699199.html
Copyright © 2020-2023  润新知