當我關閉文檔時,我看到有如此奇怪的行爲,DockPanelSuite
。當我單擊文檔右上角的關閉'X'
時,頂部文檔按預期方式關閉(calls FormClosing event and Dispose() method of my derived DockContent class)
,但文檔中仍有一個小選項卡。它就像DockContent
認識到內容應該被丟棄並且拋棄所有的內部控件並且Form.Text從標籤中消失,剩下的是一個沒有任何文本的小標籤。關閉DockContent文檔後出現DisposedObjectException
進一步嘗試再次關閉選項卡或點擊選項卡導致'ObjectDisposedException'.
這裏是我的環境規格:
Visual Studio 2008
DockPanelSuite AssemblyVersion("2.5.0.*")
Windows 7 x64
下面是一個堆棧跟蹤。步入代碼,我可以看到它彈了當它試圖獲得IDragSource.DragControl
這是我佈置完畢控制的實例提前幫助
(control being a derived DockContent class):
at System.Windows.Forms.Control.CreateHandle()
at System.Windows.Forms.Form.CreateHandle()
at System.Windows.Forms.Control.get_Handle()
at WeifenLuo.WinFormsUI.Docking.DockPanel.DragHandlerBase.BeginDrag() in C:\Users\nick\Documents\Visual Studio 2008\Projects\DockPanel\WinFormsUI\Docking\DockPanel.DragHandler.cs:line 48
at WeifenLuo.WinFormsUI.Docking.DockPanel.DockDragHandler.BeginDrag(IDockDragSource dragSource) in C:\Users\nick\Documents\Visual Studio 2008\Projects\DockPanel\WinFormsUI\Docking\DockPanel.DockDragHandler.cs:line 699
at WeifenLuo.WinFormsUI.Docking.DockPanel.BeginDrag(IDockDragSource dragSource) in C:\Users\nick\Documents\Visual Studio 2008\Projects\DockPanel\WinFormsUI\Docking\DockPanel.DockDragHandler.cs:line 811
at WeifenLuo.WinFormsUI.Docking.DockPaneStripBase.OnMouseDown(MouseEventArgs e) in C:\Users\nick\Documents\Visual Studio 2008\Projects\DockPanel\WinFormsUI\Docking\DockPaneStripBase.cs:line 195
at System.Windows.Forms.Control.WmMouseDown(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at WeifenLuo.WinFormsUI.Docking.DockPaneStripBase.WndProc(Message& m) in C:\Users\nick\Documents\Visual Studio 2008\Projects\DockPanel\WinFormsUI\Docking\DockPaneStripBase.cs:line 246
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at MosaicMaker.Program.Main() in C:\Users\nick\Documents\Visual Studio 2008\Projects\MosaicMaker\MosaicMaker\Program.cs:line 18
at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
感謝。
除了這個小小的打嗝,我對圖書館非常滿意。
如果可能,請使用http://dockpanelsuite.com的最新版本。此外,圖片可以更好地解釋「什麼是」,但文檔中仍然有一個小標籤。「除非您透露更多有關該問題的信息,否則根據您輸入的內容進行診斷相當困難。 – 2013-03-04 09:16:10
既然你已經回答了你自己的問題,請接受它並將此問題標記爲已回答。 – 2013-05-01 02:43:51