我试图让一个listview停靠在splitcontainer中的parent,我发现ListView.Parent
是null
。WinForms:为什么Control.Parent为空?
根据文档这应该是:
甲表示控件的父或容器控制的控制。
任何人都可以解释为什么此属性将为空?我尝试将ListView移动到窗体(为了排除停靠在splitcontainer中时出现的奇怪行为)而无济于事。
我试图让一个listview停靠在splitcontainer中的parent,我发现ListView.Parent
是null
。WinForms:为什么Control.Parent为空?
根据文档这应该是:
甲表示控件的父或容器控制的控制。
任何人都可以解释为什么此属性将为空?我尝试将ListView移动到窗体(为了排除停靠在splitcontainer中时出现的奇怪行为)而无济于事。
不幸的是,这完全是我的错误。我不是在耻辱中删除自己的问题,而是要说出我做错了什么,以防其他人做同样的事情。
本质上,我的代码由于ListView.Disposed
事件而运行。此事件大概发生在控件从其父控件集合中删除后,这就是为什么Parent
为空。
OnLoad
方法并在base.OnLoad
被调用后检查吗?ListView似乎不在任何SplitContainer的SplitterPanel(designer-bug?)的控件集合中。 当它不设计者的工作改变它在designer.vb手动像这样的(?):
Me.SplitContainer1.Panel2.Controls.Add(Me.ListView1)
你确定你使用的是正确的ListView?如果它出现在一个winforms应用程序中,我认为它必须有一个父项。否则,它不会被渲染,因为它从表单开始并递归地触及子节点。如果您引用了您尚未实际使用的新构建的列表视图,则父代可能为空。
你有错误的参考。张贴显示你如何获得它的片段。 – 2010-05-18 16:02:37