好的我知道标题含糊不清但我无法想到更好的标题。
无论如何,问题。我有一个表格,我想让我的按钮半透明。我是通过使用Color.FromArgb(ARGBValue, Color)
来实现的。我必须对按钮,标签,面板等许多对象执行此操作,以使我的应用程序看起来很有吸引力。
我这样做没有问题,但问题是我想立即这样做。我不想一次又一次地重复代码行,它们做同样的事情,但对于不同的对象。所以,我做了一个Sub程序:
Private Sub TranslucentWorks(Sender As Object, ARGBValue As Integer, Color As Color)
Sender.backcolor = Color.FromArgb(ARGBValue, Color)
End Sub
这里,发件人是一个背景要半透明的对象。 这一切都很好。现在,主要问题在这里。让我们说我必须使我的两个标签控件半透明。我在表单加载时调用子过程
Private Sub Form1_Load(sender As Object, e As System.EventArgs) Handles Me.Load
TranslucentWorks(Line1Lbl, 30, Color.White
TranslucentWorks(Line2Lbl, 30, Color.White)
End Sub
想象一下,对20个控件再次执行此操作20次。很无聊,对吧?
所以,我想这样做:
TranslucentWorks(Line1Lbl,Line2Lbl, 30, Color.White)
我知道上面的代码是错误的,但你明白了。我想做一些像要发送的对象数组。
我尝试过Sender() As Object
,但它没有用。有没有办法这样做?
请注意,我根本没有使用WPF
因此与此无关。
答案 0 :(得分:2)
感谢push
的帮助。我做到了!
我将子程序设置为:
Plutonix
并称之为:
Private Sub TranslucentWorks(ARGBValue As Integer, Color As Color, ByVal ParamArray Senders() As Object)
For Each Sender In Senders
Sender.backcolor = Color.FromArgb(ARGBValue, Color)
Next
End Sub