公开C#Windows表单工具

时间:2018-11-15 23:54:26

标签: c# forms public

我只是想知道是否公开Windows窗体工具(例如文本框,按钮等)是否安全。它在Designer.cs文件上显示为私有。我将其更改为公开,但仍然可以使用,但是我担心,因为有时即使使用了默认设置,我也不应该这样做。

1 个答案:

答案 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;
}