是否有一种有效的方法可以为一个标签提供ForeColor,BackColor和3种可能标签中另一种标签的文字?我需要经常在Windows窗体中为十几个标签执行此操作。
答案 0 :(得分:2)
没有。在一次VB.NET调用中,不能将多个属性从一个标签分配给另一个标签。
但你可以做的是构建一个辅助方法:传入源和目标控件并以这种方式分配属性。
Sub ApplyStyle(Label destination, Label source)
destination.ForeColor = source.ForeColor
destination.BackColor = source.BackColor
destination.Text =source.Text
End Sub
' example call
ApplyStyle(unstyledLabel, styledLabel)
答案 1 :(得分:1)
给所有标签相同的文字没有任何意义,让我们假设你的意思是“字体”。是的,这是可能的,所有三个属性都是“环境”属性。这意味着当您没有在设计器或代码中明确地为它们提供值时,它们将“继承”其容器的属性值。
Ambient属性旨在为您的UI提供一致的外观和感觉。只需指定父控件的属性,label属性就会自动获得相同的值。如果需要,您可以将它们放入Panel中,以便将它们与表单中的其他控件隔离开来。
设计师的另一种方法是通过在它们周围拖动一个更大的矩形并设置属性来选择它们。按住Ctrl +单击可添加/删除该选择中的控件。不过喜欢环境属性方法。