我只是想知道是否公开Windows窗体工具(例如文本框,按钮等)是否安全。它在Designer.cs文件上显示为私有。我将其更改为公开,但仍然可以使用,但是我担心,因为有时即使使用了默认设置,我也不应该这样做。
答案 0 :(得分:1)
将控件上的修饰符更改为public
是完全安全,就像将任何其他类的字段或属性或方法从私有更改为public一样安全。您不会突然发现某些东西中断,失败,锁定等。这只是意味着现在可以从表单外部访问该控件。
但是,控件的默认设置private
有助于鼓励更好的代码设计。如果您发现需要控制public
,则可能无法将我们对表单的关注与应用程序的其余部分区分开来-或至少没有遵循一般社区的感觉是一个好的模式
例如,如果您需要修改标签的文本,则无需将标签本身公开。您可以改为选择设置表单的公共属性,以设置私有标签的文本值。例如,如果您的标签旨在表示以下格式的字幕:
public string Subtitle {
get { return label1.Text; }
set { label1.Text = value; }
}
更好的是,您的表单可以侦听来自某个中间对象的事件或通知,并根据这些通知在内部更新标签:
private void someobject_SubtitleChanged(object sender, SubtitleChangedEventArgs args) {
label1.Text = args.Subtitle;
}