例如:我有两个窗体:form1,from2,由于某些原因,我在某个函数中需要调用from2,并且from2也要进行它自己的操作,让后关掉from2,可以继续执行from1刚才那个方法的下一步操作。我原有的程序是通过from.ShowDialog()来判断,所以我想问问它的原理是什么?有没有别的方法实现我要实现的功能?

解决方案 »

  1.   

    原理就是ShowDialog() :-)MSDN说:可以使用此方法在应用程序中显示模式对话框。调用此方法时,直到关闭对话框后,才执行此方法后面的代码。...既然这个方法实现了你的目的,为什么要麻烦用别的方法?
      

  2.   

    别的实现办法,,如果你要在form2 操作 form1 可以通过委托
    如果你想要form2 获得 form1 的值  你可以通过构造函数传值过去
    或者 再笨一点的方法 就写 log文件 实时读写,,
    总之方法是人想的,,,只要动脑肯定有方法
      

  3.   

    是的,模式对话框会阻止当前线程,比如 MessageBox.Show("");这个也是、、、
      

  4.   

    别的实现办法,,如果你要在form2 操作 form1 可以通过委托如何通过委托来实现,有没有例子解释下?
      

  5.   

    委托+事件。实例化form2的时候绑定事件在form2的事件里 通过委托调用方法
      

  6.   

    在form2关闭时,调用form1里面的函数就可以啦
      

  7.   

    当form2关闭时,form1会被重新激活,在form1的active事件里可以定义一段你需要的执行代码
      

  8.   

    委托+事件。实例化form2的时候绑定事件在form2的事件里 通过委托调用方法
    如何实例化form2的时候绑定事件?
    又如何在form2的事件里 通过委托调用方法?
    你们说的太笼统了!我都不知道怎么引用你们的话,只能copy啦