2011-11-03 38 views
4

我正在使用Windows應用程序。我在一個窗體中有一個菜單欄,我想問一下,我可以有一個面板,它會在特定的menustripitem點擊時加載新窗體。我可以加載一個新的表單到面板嗎?

例:

File Data 
    ABC Hello 
    XYZ Bye 

這是ABC的我的菜單bar.On點擊我不想去不同的形式,我可以做到用面板相同的形式的東西 (無論我想)。

謝謝

+3

更好地使用UserControls而不是Forms。 –

回答

1

您可以使用MDI窗體。 嘗試是這樣的

//Create a new instance of the MDI child template form 
    Form2 child= new Form2(); 

    //Set parent form for the child window 
    child.MdiParent=this; 

    //Display the child window 
    child.Show() 

你也可以參考這個site

0

如果將目標表單的全部內容放入UserControl中,可以將面板添加到主表單並將UserControl放置在該面板上。

您仍然可以選擇通過創建一個空表單並在該表單上放置相同的UserControl來顯示一個單獨的表單。

由於Int3已經指出,您可以改爲使用MDI表單。但是,如果你想使用可停靠的面板,UserControl將是一條可行的路。

0

在窗體上添加兩個面板,同一時間只能顯示一個面板。然後,添加上你的菜單兩個事件:

private void ABCToolStripMenuItem_Click(object sender, EventArgs e) { 
    panelABC.Visible = true; 
    panelXYZ.Visible = false; 
} 

private void XYZToolStripMenuItem_Click(object sender, EventArgs e) { 
    panelABC.Visible = false; 
    panelXYZ.Visible = true; 
} 
0
private void pbxpurchase_Click(object sender, EventArgs e) 
    { 
     contentpnl.Controls.Clear();//contentpnl is the panelname 
     purchasebook purchasebk = new purchasebook();//purchasebook is a formname 
     purchasebk.TopLevel = false; 
     purchasebk.AutoScroll = true; 
     contentpnl.Controls.Add(purchasebk); 
     purchasebk.Dock = DockStyle.Fill; 
     purchasebk.Show(); 

    } 

試試這個100%測試

4

我認爲我有同樣的問題。

但我找到了答案,它

CodeProject Example

首先,你必須configurate的形式:

myForm.FormBorderStyle = FormBorderStyle.None; 

然後,操縱動作:

Form1 myForm = new Form1(); 
myForm.TopLevel = false; 
myForm.AutoScroll = true; 
frmMain.Panel2.Controls.Add(myForm); 
myForm.Show(); 

希望來幫你。擁抱:D

+0

謝謝你的哥們 – 2015-08-31 19:44:50

相關問題