C#中如何让一个程序 等待另一个程序相应完之后 再继续运行??好比我写了一个国际象棋,有一个GameControlClass 我在里面定义了一个void PlayingGame() 
 /* This method is for playing the game */
        public void PlayingGame()
        {
            while (this.whiteKing == "alive" && this.blackKing == "alive")
            {                do
                {
                    ///这里我需要接受mainForm.cs 里棋子被拖动的Event, 来得到每一个棋子被移动的情况
                       ///但我不知道这里应该如何写啊, 程序应当在这里停住 等待mainForm 里一个棋子被拖动 然后继续运行
                       ///各位大虾们 有没有好的办法 在下不胜感激                    MessageBox.Show("Someting");                } while (!this.turnSign);            }//End While        }//End Void PlayingGame()

解决方案 »

  1.   

    可以设置一个全局变量,保存状态。每个wihile的循环,根据状态来判断该进行何动作。使用这种方式,可以单独抽象出一个方法,做这些判断
      

  2.   

    程序指的是什么?另一个线程?还是另一个Application?
      

  3.   

    1)在Mainform中申明一个事件如:ChessMoved
    2)在定义GameControlClass对象时注册该事件如:mainform.ChessMoved += GameControlClass.PlayingGame;
    当然,GameControlClass类中事件处理方法可以灵活些,不直接用PlayingGame。