希望我说得对。我有一个WinForm(3.5)应用程序有1个表格,分为两个区域。 1是导航,另一个是Panel,是内容。您可以在导航部分中选择所需内容,即人口统计数据,然后在面板中嵌入包含所有受众特征控制的UserControl。
我要问的是,每个用户控件的每个Property
是否应该Control
。示例:ucDemographics有一个名为txtCity
的文本框。是否应该Property
存储value
txtCity
并允许我的表单和其他用户控件访问它?
这是普遍接受的“最佳实践”吗?
如果没有,那是什么?
答案 0 :(得分:5)
这取决于您希望使用UserControl实现的目标。
通常你不会公开txtCity,因为调用者可以操作文本框的所有内容。在大多数情况下,您只会公开当前文本ála
public string CityText
{
get { return this.txtCity.Text; }
}
答案 1 :(得分:2)
不,这不是一个真正的最佳实践。用户控件的目的是用自己的行为组合新控件。您最多应该拥有公共的“几个”属性,方法和事件,并允许表单与新控件交互。如果您发现使用它的唯一好方法是通过公开其组成控件,最好不要使用UserControl,而只是将控件直接放在窗体上。