我程序中创建一个窗口TOPWIN.CS ,再创建一个窗口FORM.cs,在FORM.cs中我想关闭窗口TOPWIN,应该怎么关闭?
两个窗口是相互独立的。谢谢
在FORM.cs中用this.close()是关闭FORM.cs的。

解决方案 »

  1.   

    将topwin窗口句柄传递给form,然后在form里调用这个句柄的close方法不就关闭了?
      

  2.   

    A窗口要拿到B窗口的对象然后A里面执行B的CLOSE()
      

  3.   

    使用event。写个事件类。
    B中注册。(事件执行函数中写上关闭当前窗体的方法)
    A中调用事件类中的触发事件的方法。事件使用参见:http://topic.csdn.net/u/20090609/11/9b5d4506-95e2-4677-a7cf-ee75c6e68140.html?95662
      

  4.   

    foreach(form a in application.openForms)
    {
     if (a.FormName=="XXXXX")
    {
     a.close();
    }
    }
      

  5.   

    A窗口要拿到B窗口的对象 
    然后A里面执行B的CLOSE()能说详细点吗?A窗口怎么拿到B窗口的对象?比如
    main()中
    topwin abc=new topwin();
    abc.show();
    form ww=new form();
    ww.show();
    怎么在form中取得topwin的对象abc啊? 
    ----------------------
    还有,
    将topwin窗口句柄传递给form,然后在form里调用这个句柄的close方法不就关闭了?     能说详细点吗?最好有点代码.呵呵,谢谢了
      

  6.   

    在Form里寫
    TOPWIN t = (TOPWIN)(Application.OpenForms["TOPWIN"]);
    t.Close();
      

  7.   

    将topwin窗口句柄传递给form,然后在form里调用这个句柄的close方法不就关闭了?
    TOPWIN t = (TOPWIN)(Application.OpenForms["TOPWIN"]); 
    t.Close();
    参考
      

  8.   

    要保证Main函数不在你的TopWin类里。
    至于怎么在From类中得到TopWin的对象有很多方法,最简单的是将TopWin的对象声明为静态的,这样就能在其他地方直接访问的(注:该方法安全性不高)写控制类是比较好的方法
      

  9.   

    FORM.cs  中创建一个公共属性
        private void button3_Click(object sender, EventArgs e)
        {
          f.Close();
        }    private Form f;
        public Form Fo
        {
          get { return f; }
          set { f = value; }
        }
    Main窗体中
    topwin abc=new topwin(); 
    abc.show(); 
    form ww=new form(); 
    ww.Fo = abc;  //把topwin 给属性Fo
    ww.show(); 
      

  10.   

    C#不支持全局变量, 所以必须把TOPWIN窗体的引用传递到FORM窗体中。 在FORM中定义一个TOPWIN frm;变量用来保存这个引用,然后再调用frm.Close();来关闭。这和delphi,vb里面可以直接访问窗体是不同的。
      

  11.   


        private void Close_Click(object sender, EventArgs e)
        {
          Form f1 = Application.OpenForms["topwin"];
          f1.Close();  //OK 可以的
        }
      

  12.   


    foreach(form b in application.openForms)
    {
    if(b.formName="指定的form")
    {
    b.close();
    }
    }
      

  13.   

    调用自定义消息的SendMessage API函数