none
如何於MDI子視窗內開啟MDI的子視窗呢? RRS feed

  • 問題

  • 如題,小弟於MDI的子視窗內,建立一個副程式來開啟MDI的子視窗

     

    public static void OpenPUR2B1(string _Caption, string _frmName, string _sGRP, DateTime _B_Date, DateTime _E_Date)
            {
                frmPUR2B1 _frmPUR2B1 = new frmPUR2B1();
                _frmPUR2B1.MdiParent = //不知該如何設定?

               _frmPUR2B1.Text = _Caption;
                _frmPUR2B1.frmName = _frmName;
                _frmPUR2B1.sGRP = _sGRP;
                _frmPUR2B1.B_Date = _B_Date;
                _frmPUR2B1.E_Date = _E_Date;
                _frmPUR2B1.MyCreate();
                _frmPUR2B1.Show();
            }

     

    如上程式碼, _frmPUR2B1.MdiParent  該設定為何呢??

     

    (主表單為 frmMain,直接指定_frmPUR2B1.MdiParent  = frmMain; 會出現錯誤!)

     

    2007年4月30日 上午 06:03

所有回覆

  • _frmPUR2B1.MdiParent =this;
    2007年4月30日 上午 06:16
  • 您好,小弟的_frmPUR2B1.MdiParent =  這段程式碼是放在MDI的子視窗中,並非MDI的父視窗中,所以無法使用This

     

    2007年4月30日 上午 06:30
  • public static void OpenPUR2B1(string _Caption, string _frmName, string _sGRP, DateTime _B_Date, DateTime _E_Date,Form parent)
            {
                frmPUR2B1 _frmPUR2B1 = new frmPUR2B1();
                _frmPUR2B1.MdiParent = parent;

               _frmPUR2B1.Text = _Caption;
                _frmPUR2B1.frmName = _frmName;
                _frmPUR2B1.sGRP = _sGRP;
                _frmPUR2B1.B_Date = _B_Date;
                _frmPUR2B1.E_Date = _E_Date;
                _frmPUR2B1.MyCreate();
                _frmPUR2B1.Show();
            }

    2007年4月30日 上午 06:37
  • 不能這樣設喔!
    2007年4月30日 上午 06:56
  • 超過72小時 自己推一下
    2007年5月3日 上午 08:23
  • 你是要做怎麼樣的功能,為什麼用 Static 去做 Class Method 而不做成 Instance Method ?
    2007年5月3日 上午 09:11
  • 因為這支程式,是根據傳入的參數 sGRP 不同,而有不同的功能,所以才如此做。

    原本於DELPHI中,就是利用這種方式處理,而DELPHI中開啟子表單並不需要設定parent,所以才有這個問題??

     

    煩請幫忙,謝謝!

    2007年5月4日 上午 12:18