如何在私有子中传递多个对象

时间:2017-08-27 19:54:54

标签: vb.net

好的我知道标题含糊不清但我无法想到更好的标题。

无论如何,问题。我有一个表格,我想让我的按钮半透明。我是通过使用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因此与此无关。

1 个答案:

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