跨线程访问控件

 

 

//public delegate void mainThreadHandler();//可以自己声明委托
 private void Read(*/ int num */)
        {
            if (this.InvokeRequired)
            {
                MethodInvoker cb1 = new MethodInvoker(Read);
                //mainThreadHandler cb2 = new mainThreadHandler(Read);
                this.Invoke(cb1);
                //this.Invoke(cb,num);

            }      
            else
            {
                try
                {
                    // AdsStream which gets the data
                    AdsStream dataStream = new AdsStream(100 * 2);
                    BinaryReader binRead = new BinaryReader(dataStream);

                    //read comlpete Array 
                    tcClient.Read(hVar, dataStream);

                    lbArray.Items.Clear();
                    dataStream.Position = 0;
                    for (int i = 0; i < 100; i++)
                    {
                        lbArray.Items.Add(binRead.ReadInt16().ToString());
                    }
                }
                catch (Exception err)
                {
                    MessageBox.Show(err.Message);
                }
            }
        }

  

posted @ 2022-08-01 14:54  寒冬将至  阅读(48)  评论(0)    收藏  举报