Control.FindForm和ContainerControl.ParentForm有什么区别?

我想知道如果有Control.FindFormContainerControl.ParentForm之间的任何function(或其他)的区别? 我一直在使用.ParentForm时创build我自己的用户控件,但会有任何原因.FindForm将是一个更好的select? 从我可以告诉,他们总是会返回相同的forms(即用户控件的forms,或空)。 是.ParentForm只是调用.FindForm或有一个时间,两者可能是不同的(也许与mdi窗口)?

Solutions Collecting From Web of "Control.FindForm和ContainerControl.ParentForm有什么区别?"

他们是微妙的不同。 由于父窗体没有父窗体,当它在顶层窗体上调用时,ParentForm将返回null。 FindForm()不会,它会自行返回。 而ParentForm提出了一个安全需求,FindForm()不需要。 他们否则使用相同的内部实现。 Winforms本身根本不使用ParentForm,我会忽略它。