Vb.net 创建一个按钮,通过每次单击更改标签前景色

Vb.net 创建一个按钮,通过每次单击更改标签前景色,vb.net,button,colors,label,Vb.net,Button,Colors,Label,这就是我要做的。我有一个名为lblWelcome的标签和一个名为btnTextColor的按钮。我想要按钮做的是每次单击按钮时更改标签的前景色。每次按下按钮时,标签的前景色将变为与以前不同的颜色。这就是我想要的 这是我试过的。旁注:我只把红色、蓝色和黑色作为开始,所以我可以试试这个按钮,看看它是否有效。我的第一个希望是让按钮在每次点击时选择一种随机颜色。那太好了。否则,只需逐一查看颜色列表也可以 Private Sub btnTextColor_Click(sender As Object, e

这就是我要做的。我有一个名为lblWelcome的标签和一个名为btnTextColor的按钮。我想要按钮做的是每次单击按钮时更改标签的前景色。每次按下按钮时,标签的前景色将变为与以前不同的颜色。这就是我想要的

这是我试过的。旁注:我只把红色、蓝色和黑色作为开始,所以我可以试试这个按钮,看看它是否有效。我的第一个希望是让按钮在每次点击时选择一种随机颜色。那太好了。否则,只需逐一查看颜色列表也可以

Private Sub btnTextColor_Click(sender As Object, e As EventArgs) Handles btnTextColor.Click
    lblWelcome.ForeColor = Color.Red
    lblWelcome.ForeColor = Color.Blue
    lblWelcome.ForeColor = Color.Black

End Sub

使用上面的代码,当我运行程序时,按钮将标签的前景色更改为黑色。它只跟在最后一行代码后面。所以,我去了互联网,寻找一个解决方案,一些我在这里丢失的代码。我发现了一种叫做弦的东西,但它并没有提到前景色,我也不知道该怎么想或怎么做。我只是有点卡住了,我需要知道要添加什么才能使这个按钮按我的预期方式工作。但最重要的是,我想知道我找到的解决方案是如何工作的。例如,当有人告诉我键入什么时,我会修复我的按钮,但我还不知道键入的内容的含义。我想学习。所以,请在回答这个问题时解释一下。就一点点,这就是我所要求的。我在找什么命令?我如何使用它?它有什么作用?

这应该对你有用

Private Sub btnTextColor_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTextColor.Click
    Static m_Rnd As New Random
    lblWelcome.ForeColor = Color.FromArgb(255, m_Rnd.Next(0, 255), m_Rnd.Next(0, 255), m_Rnd.Next(0, 255))
End Sub

希望这有助于作为第二个选项

您能告诉我Static的功能吗?那么m_Rnd呢?还有颜色。从argb开始?我想知道我在做什么,这样我可以在需要时再次使用它们。从MSDN来看,m_Rnd只是一个变量。一点也不粗鲁,但是MSDN有你需要的所有答案。至于为什么随机数生成器被声明为静态的,请参阅第二个答案。谢谢你的帮助。我非常感激。我将研究找出我在MSDN上键入的每一项内容的含义。目前正在阅读文章。再次感谢您的帮助这与另一个建议的作用相同吗?是否将标签颜色更改为随机颜色?我不明白为什么两个不同的代码会做相同的事情。如果有人想一步一步地确切解释这些代码的作用,我将不胜感激。我正在尽可能多地学习。这样我就可以键入自己的代码,这样我就可以通过向其他人演示如何操作来回答他们的问题。我不知道Dim是什么意思,mybrush是什么意思,Black是什么意思,ColorDialog是什么意思,或者New是什么意思。我正在努力学习。在MSDN上,定义仍然很复杂。虽然定义完全相同,但在选择颜色之前,您可以看到颜色表中的所有内容,然后自己运行查看。。。。因此.关键字'dim'告诉计算机您将要'声明'一个'变量',变量是计算机中存储值的一部分,在这种情况下,变量被称为my brush….您可以根据需要调用变量,而不是创建一个有意义的变量名,这就是为什么要编写,,dim mybrush=Brush.black..Brush.black是预定义的。非常感谢您的支持,Barry。我很感激如果你想试一试,我还有一个问题。
Private Sub Label1_Click(sender As Object, e As EventArgs) Handles Label1.Click
     Dim mybrush = Brushes.Black
    Dim cDialog As New ColorDialog()
    cDialog.Color = Label1.BackColor ' initial selection is current color.

    If (cDialog.ShowDialog() = DialogResult.OK) Then
        Label1.BackColor = cDialog.Color ' update with user selected color.
    End If


End Sub