有一個mainfrm的MDI窗體,通過菜單調customerfrm窗體,如果要在customerfrm的bottom中調用customerfindfrm窗體應如何寫代碼?如果用
customerfindfrm newfrm=new customerfindfrm();
newfrm.MdiParent=this;
newfrm.show();會出錯如果只用
customerfindfrm newfrm=new customerfindfrm();
newfrm.show();又不包含在MDI窗體中

解决方案 »

  1.   

    你可以把打开customerfindfrm窗体的部分放到主窗体中,例如:
    //Open find form
    public void OpenFindWindow()
    {
    customerfindfrm newfrm=new customerfindfrm();
    newfrm.MdiParent=this;
    newfrm.show();
    }// in customerfrm button click event
    mainfrm mParent = this.Parent as mainfrm;
    if( mParent != null )
    {
        mParent.OpenFindWindow();//Open another window from main window
    }
      

  2.   

    Sorry!change
    mainfrm mParent = this.Parent as mainfrm;with
    mainfrm mParent = this.MdiParent as mainfrm;
      

  3.   

    謝謝Knight84(愚翁),按你的方法可以用。不過還有個問題想請教:如果按你的方法,一個系統中需要寫多個OpenFindWindow,可不可改成函數形式,調用時傳Form名稱就可以開啟不同的Form,請問題如何寫代碼?
      

  4.   

    参看
    http://blog.csdn.net/Knight94/archive/2006/05/17/742324.aspx