两个窗体之间传值:
http://www.lzhm.net/read.aspx?ID=57http://www.lzhm.net/Read.aspx?ID=21http://www.csdn.net/Develop/read_article.asp?id=26433
http://www.csdn.net/Develop/read_article.asp?id=26434
http://www.csdn.net/Develop/read_article.asp?id=26436

解决方案 »

  1.   

    对于第一个问题,用线程来解决。
    对于第二个问题其实是很简单的,首先这个子窗体要是存在的,然后代码如下:
    Form2 for2=new Form2();  //打开
    for2.MdiParent=this;
    for2.Show();for2.Close();  //关闭
      

  2.   

    问题1:
     public void  delegate sonFormEvent(object sender,eventArgs e);
     public class sonForm
        {
            public sonFormEvent sonevent;
            public void   Test(eventArgs e)
              {
                  if(sonevent!=null)
                     sonevent(this,e);
              }
         
        }
    public class mainForm
    {
       private  sonEventHandler(object sender,eventArgs e)
         { 
         }
    //
      void  formLoad(...)
       {
       sonForm.sonevent+=new sonFormEvent(this.sonEventHandler);
       }
    }
      

  3.   

    1、这个问题实际上是消息传递的问题。 
       在VB里面很爽,只要设置一个属性就可以了。
       在C#里,dhz123(飞雪) 的delegate方法是最好的了。
       赶紧去学delegate模式吧。perfect。
       
    2、直接From.Close()即可。
      

  4.   

    多谢各位高手,小弟现在总结了一下,已备以后参考!代码如下:
    public delegate SonFromEvent(object sender,System.eventArgs e)public class sonFrom:System.Windows.Froms.From
    {
           public event SonFromEvent OnSonFromEvent;
           // .......
    }public class MainFrom:System.Windows.Froms.From
    {
           public MainFrom_Load(object sender,System.EventArgs e) //可以是任何事件
           {
               SonFrom newFrom = new SonFrom();
               newFrom.OnSonFromEvent += new SonFromEvent(newFrom_OnSonFromEvent);
           }
           public void newFrom_OnSonFromEvent(object sender,System.EventArgs e)
           {
               // .......
           }
           // .......
    }