2009-03-04 93 views
1

在java swing中,我可以將面板插入面板等,而不必爲我的應用程序的每個視圖創建一個全新的窗口,或圍繞刪除和添加控件。winforms面板vs java swing面板

Theres a panel clas sin C#但是我無法看到創建「面板表單」的任何方式,或者基本上只是表單設計器中的一種表單,即面板及其內容。

我該怎麼做,然後按照我使用java swing的方式工作?

回答

2

通常我只是將不同的表單放在eachother中,在父窗口上將IsMdiContainer屬性設置爲true。然後,我創建了我停靠使用下面的函數子窗體:

static class FormUtil 
{ 
    static public void showForm(Form sender, Control reciever) 
    { 
     sender.ControlBox = false; 
     sender.FormBorderStyle = FormBorderStyle.None; 
     sender.ShowInTaskbar = false; 
     sender.TopLevel = false; 
     sender.Visible = true; 
     sender.Dock = DockStyle.Fill; 

     reciever.Controls.Clear(); //clear panel first 
     reciever.Controls.Add(sender); 
    } 

} 

然後每當我需要停靠在面板內部表單上家長形成我只是做:

FormUtil.showForm(new SomeForm(), this.splitContainer1.Panel1); 

這讓我委派一些表單創作給不同的設計師。對我來說就像是一種魅力,喜歡聽聽是否有更好的方法。

0

實際上,您可以使用面板控件並將它的Dock屬性設置爲Fill。這樣,您的面板將成爲窗體的整個畫布。然後,您可以根據需要通過後面的代碼或通過表單設計器添加子面板。

0

用戶控件的概念基本上爲您提供了一個像設計器表面的面板,更不用說您可以創建原子形式(可以重用)並將它們註冊爲可繼承的,這樣您也可以提供繼承。