zoukankan      html  css  js  c++  java
  • 多线程操作 同一个textbox. yi

    今天 折腾了好久,才弄好这个,多线程操作 同一个textbox.本来就是菜鸟的我还折腾着用上了委托.
     private delegate void returnStrDelegate(string str);
            
    private void button1_Click(object sender, EventArgs e)
            
    {
                returnCB(textbox1AppendText, 
    "1111");
                Thread thread1 
    = new Thread(new ThreadStart(GetUrl));
                thread1.Name 
    = "geturl";
                thread1.IsBackground 
    = true;  //设为后台线程。
                thread1.Start();
            }

            
    private void GetUrl()
            
    {
                NetClass NC 
    = new NetClass();
                
    //textBox1.Text += "正在查找页面" + "\r\n";
                returnCB(textbox1AppendText,"aaa");

            }

            
    /// <summary>
            
    /// 向textbox1添加字符
            
    /// </summary>
            
    /// <param name="str"></param>

            private void textbox1AppendText(string str)
            
    {
                textBox1.AppendText(str);
            }

            
    //判断一下是不是该用Invoke
            private void returnCB(returnStrDelegate myDelegate,string str)
            
    {
                
    if (this.InvokeRequired)
                
    {
                    
    this.Invoke(myDelegate,str);
                }

                
    else
                
    {
                    myDelegate(str);
                }

            }

    请教大侠们,有没有更简单或更好的方法.谢谢.
  • 相关阅读:
    send和sendmsg性能测试【sendmsg和send的性能基本一样,并没有得到优化】
    send和sendmsg性能测试
    SparkException: Master removed our application
    大数据入门:各种大数据技术介绍
    78 subsets
    C、C ++的内存模型
    将博客搬至CSDN
    适配器模式
    建造者(Builder)模式
    桥接模式
  • 原文地址:https://www.cnblogs.com/yisheng163/p/1227765.html
Copyright © 2011-2022 走看看