2013-11-26 29 views
0

以下代碼給了我一個空引用。dockpanel.FloatForm意外爲空

foreach (DockPanel dockPanel in dockManager1.Panels){ 
dockPanel.MakeFloat(); 
tabbedView1.Controller.CreateNewDocumentGroup(tabbedView1.Controller.RegisterDockPanel(dockPanel.FloatForm) as Document); 
} 

dockPanel.FloatForm在調試器中專門顯示爲NULL,即使MakeFloat();應設置它http://documentation.devexpress.com/#WindowsForms/DevExpressXtraBarsDockingDockPanel_MakeFloattopic379

+0

向場內的DevExpress [支持中心(https://www.devexpress.com/Support/Center/)。這就是它的目的。 – shamp00

+0

我經常發現它是一個普遍的編碼問題,而不是一個devexpress問題,但我會繼續並做到這一點 – Jstone05

回答

0

沒有理由使用DockPanel.MakeFloat方法使停靠面板停靠爲選項卡式文檔。您應該使用DockPanel.DockAsMdiDocument方法。 因此,正確的代碼應該是這樣的:

foreach(DockPanel dockPanel in dockManager1.Panels) { 
    if(dockPanel.DockAsMdiDocument()) { 
     var document = tabbedView1.Manager.GetDocument(dockPanel) as Document; 
     tabbedView1.Controller.CreateNewDocumentGroup(document); 
    } 
}