我有一个自定义控件,它是用一堆标准 Windows asp 控件创建的。
问题:
是否可以将父控件的属性继承到自定义控件中,而不需要重新发明轮子?
例如,我有一个带有按钮、文本框和标签的控件。
通常我可以通过 Lable1.Text
访问该控件的属性,但是当这些控件放置在自定义控件中时,我如何访问它们而不单独封装该控件的所有属性。
我希望有像CustomControl1.Lable1.Text
这样的东西,或者这是不可能的
如果我用这个 公共(public)标签 lbMovieName { 获取 { 返回 this.lbMoveName; } 设置{ lbMovieName = 值; } }
我得到了我需要的东西,但你能告诉我为什么我不应该这样做吗?
最佳答案
最简单的方法是通过公共(public)只读属性公开控件:
public Label MyLabel
{
get { return this.Label1; }
}
但是,仅封装您想要公开的值绝对是一个更干净的解决方案,原因如下:
- 在这种情况下,您可以抽象出实际的控件类型,而不是绑定(bind)到
Label
- 如果您公开该控件,则很难用MyNewCoolLabel
替换 Label >,例如 - 您可能会暴露更多您想要的内容 - 客户端可以更改标签的显示属性等。
关于c# - 将属性继承到自定义控件 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15836918/