2010-05-18 175 views
0

我試圖讓一個listview停靠在splitcontainer中的parent,我發現ListView.ParentnullWinForms:爲什麼Control.Parent爲空?

根據文檔這應該是:

甲表示控件的父或容器控制的控制。

任何人都可以解釋爲什麼此屬性將爲空?我嘗試將ListView移動到窗體(爲了排除停靠在splitcontainer中時出現的奇怪行爲)而無濟於事。

+0

你有錯誤的參考。張貼顯示你如何獲得它的片段。 – 2010-05-18 16:02:37

回答

2

不幸的是,這完全是我的錯誤。我不是在恥辱中刪除自己的問題,而是要說出我做錯了什麼,以防其他人做同樣的事情。

本質上,我的代碼由於ListView.Disposed事件而運行。此事件大概發生在控件從其父控件集合中刪除後,這就是爲什麼Parent爲空。

0
  1. 是splitcontainer的控件集合中的listview?
  2. 你什麼時候檢查父母的財產?您可以覆蓋OnLoad方法並在base.OnLoad被調用後檢查嗎?
0

ListView似乎不在任何SplitContainer的SplitterPanel(designer-bug?)的控件集合中。 當它不設計者的工作改變它在designer.vb手動像這樣的(?):

Me.SplitContainer1.Panel2.Controls.Add(Me.ListView1) 
0

你確定你使用的是正確的ListView?如果它出現在一個winforms應用程序中,我認爲它必須有一個父項。否則,它不會被渲染,因爲它從表單開始並遞歸地觸及子節點。如果您引用了您尚未實際使用的新構建的列表視圖,則父代可能爲空。