是否可以更改标签的“默认”前色?
我知道我可以在设计时间或运行时间逐个更改每个控件,但我想知道是否有更好的方法。
我可以在运行时执行此操作
lblCompanyName.ForeColor = color.darkblue
我还可以有一个循环来查看表单上的所有控件,并在一小段代码中更改它们,但仍然有更好的方法。
我在设计时看到“默认”标签forecolor是“ControlText”所以我可以将ControlText改为等于color.darkblue然后我的所有标签都是深蓝色而不需要一次编码一个控件(或在循环内)。
三江源 大卫。
答案 0 :(得分:1)
您无法为标准Label
控件更改它,但您始终可以创建自己的类继承Label
,然后在构造函数中设置ForeColor
属性。然后,您将使用该控件而不是Label
。
编辑:
如果要在运行时更改所有Label
控件的文本颜色,则应使用绑定的应用程序设置。在项目属性的“设置”页面上,添加一个类型为Color
的设置,其中包含用户范围,并将其命名为LabelForeColor
或其他内容(如果您愿意)。现在,在设计器中选择Label
,打开“属性”窗口并使用(ApplicationSettings) - > (PropertyBindings)节点将ForeColor
属性绑定到您创建的设置。
然后,您可以通过My.Settings.LabelForeColor
在代码中访问该设置,并且绑定到它的任何Label
都将自动更新。您可以根据需要在尽可能多的不同表单上绑定多个不同的Label
控件。您一次只能绑定一个,因此我建议复制并粘贴现有的绑定Label
,而不是每次都添加一个新绑定。如果您有现有的Label
控件并且您有足够的信心,则可以在设计器代码文件中复制,粘贴和编辑绑定代码。
在这种情况下使用自定义控件确实没有意义,因为设置无论如何都会控制每个控件。无论你在构造函数中设置什么值,它仍然会被绑定设置设置。请注意,您对设置所做的任何更改都将在关机时自动保存,并在启动时重新加载。