Control.FindForm和ContainerControl.ParentForm之间有什么区别

时间:2011-07-22 17:22:22

标签: .net windows winforms

我想知道Control.FindFormContainerControl.ParentForm之间是否存在任何功能(或其他)差异?我在创建自己的用户控件时一直在使用.ParentForm但是有任何理由.FindForm会是更好的选择吗?从我所知道的,他们总是返回相同的形式(即用户控件所在的表单,或null)。 .ParentForm只是在调用.FindForm,还是有时候两者可能不同(可能是mdi窗口)?

1 个答案:

答案 0 :(得分:11)

他们略有不同。当您在顶层窗体上调用它时,ParentForm将返回null,因为它没有父窗体。 FindForm()不会,它会返回自己。而ParentForm提出了安全性要求,FindForm()没有。否则他们使用相同的内部实现。 Winforms本身根本不使用ParentForm,我会忽略它。