我想知道Control.FindForm
和ContainerControl.ParentForm
之间是否存在任何功能(或其他)差异?我在创建自己的用户控件时一直在使用.ParentForm
但是有任何理由.FindForm
会是更好的选择吗?从我所知道的,他们总是返回相同的形式(即用户控件所在的表单,或null)。 .ParentForm
只是在调用.FindForm
,还是有时候两者可能不同(可能是mdi窗口)?
答案 0 :(得分:11)
他们略有不同。当您在顶层窗体上调用它时,ParentForm将返回null,因为它没有父窗体。 FindForm()不会,它会返回自己。而ParentForm提出了安全性要求,FindForm()没有。否则他们使用相同的内部实现。 Winforms本身根本不使用ParentForm,我会忽略它。