2010-03-25 61 views
2

VB.NET 2.0框架允许IExtenderProvider控制附加到控制上的用户控件

我开发,为了附接至控制和显示形式为控制的文本的翻译实现IExtenderProvider的控制。这对于窗体上的常规控件非常有效,但默认情况下,IExtenderProvider未附加到UserControl上的控件。

是否可以修改UserControl或我的IExtenderProvider控件以使其能够附加到UserControl上的控件?

谢谢!

+0

您需要将您的问题更改为“UserControl内的控件”或“用户控件“。 – AMissico 2010-03-26 23:57:47

回答

2

如果你拥有源代码到IExtenderProvider或用户控件,只需将要实行1)具有扩展名“挖”到UserControl.Controls财产 或2)有用户控件公开该包裹的控件属性性质将会延长。 [如果扩展器扩展了TextBox控件,则无论使用何种属性,都无法使UserControl看起来像TextBox。]

+0

我希望不必做你在第一个建议中提出的建议,并让它自动遍历UserControl控件列表并附加到相应的控件,就像Panel或Groupbox那样(所以我可以在设计师),但这似乎不可能。我通过遍历列表并强制它附加一些默认设置来实现它。 – Justin 2010-03-29 18:41:46

+0

“它如何执行Panel或Groupbox”这些只是容器控件。任何控制在他们身上/他们仍然保持他们的身份。 UserControl不是容器控件。 UserControl中使用的控件成为UserControl。 – AMissico 2010-03-29 18:53:54

+0

你最好公开你通过UserControl扩展的属性。决定扩展哪些控件不是扩展器的责任。由用户控制决定/暴露将要公开的属性。 – AMissico 2010-03-29 18:56:09