返回首页

我需要使用线程在同一时间(内环)按多个键,按下一秒钟后,重复此任务。

我用这个代码,但我发现了一些问题,如果我参加的第一个线程不能按在同一时间,但如果不使用在相同的时间,但所有的线程开始记者。

private void play()

        {

            

            for (int i = 0; i < 2; i++)

            {

                Thread th=null;

                for (int j = 0; j < 2;j++ )

                {

                    

                   SubNote sub= ArrayPlayNote[i].NotesSameTime[j];

             

                   ThreadStart starter = delegate { MessageSub(sub); };

                  th = new Thread(starter);

                

                   th.Start();

                    

                }

                th.Join();

             

            }

 

        }

///////////////////////////////////////////////////////

Keyboard ky = new Keyboard();

        private void MessageSub( SubNote sub)

        {

            ky.pianoControl1.PressPianoKey(sub.KeyNum);

            Thread.Sleep(1000);

            ky.pianoControl1.ReleasePianoKey(sub.KeyNum);

          

        }

感谢帮助我。

回答

评论会员: 时间:2