本文介绍了Control.FindForm和ContainerControl.ParentForm之间的区别是什么的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我不知道是否有与 Control.FindForm ContainerControl.ParentForm ?我一直在使用 .ParentForm 创建我自己的用户控制,但会有任何原因,当 .FindForm 将是一个更好的选择?从我可以告诉,他们总是返回相同的形式(即形式的用户控件上,或者为null)。为 .ParentForm 只是打电话 .FindForm 或者是有一个时间,这两个可以是不同的(可能与MDI视窗) ?

I'm wondering if there is any functional (or otherwise) difference between Control.FindForm and ContainerControl.ParentForm? I've been using .ParentForm when creating my own user controls but would there be any reason .FindForm would be a better choice? From what I can tell, they would always return the same form (ie. the form the user control is on, or null). Is .ParentForm just calling .FindForm or is there a time where the two could be different (maybe with mdi windows)?

推荐答案

他们是微妙的不同。当你在一个顶级窗体调用它,因为它没有父ParentForm将返回null。 FindForm()不会,它会返回自己。而ParentForm使得安全性的需求,FindForm()不会。他们以其他方式使用相同的内部实现。的WinForms本身完全不使用ParentForm,我会忽略它。

They are subtly different. ParentForm will return null when you call it on a toplevel Form since it has no parent. FindForm() will not, it returns itself. And ParentForm makes a security demand, FindForm() does not. They otherwise use the same internal implementation. Winforms itself doesn't use ParentForm at all, I would ignore it.

这篇关于Control.FindForm和ContainerControl.ParentForm之间的区别是什么的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-20 06:34