【问题标题】:Creating a button that changes Label ForeColor with each click创建一个按钮,每次单击都会更改 Label ForeColor
【发布时间】:2015-04-15 17:15:37
【问题描述】:

这就是我想要做的。我有一个名为“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

使用上面的代码,当我运行程序时,按钮将标签前颜色更改为黑色。它只是跟在最后一行代码之后。所以,我上网,寻找解决方案,我在这里缺少一些代码。我发现了一个叫做“字符串”的东西,但它不是指前景色,我不知道该怎么想或做什么。我只是有点卡住了,我需要知道要添加什么才能使这个按钮按我想要的方式工作。但重要的是,我想知道我找到的解决方案是如何工作的。例如,当有人告诉我要输入什么时,我会修复我的按钮,但我还没有了解我输入的内容的含义。我想学习。因此,请在您回复此问题时稍微解释一下。一点点,这就是我所要求的。我在寻找什么命令?我该如何使用它?它有什么作用?

【问题讨论】:

    标签: vb.net button colors label


    【解决方案1】:

    这应该适合你。

    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
    

    【讨论】:

    • 你能告诉我“静态”是做什么的吗?而m_Rnd?和 Color.FromArgb?我想知道我在做什么,所以如果需要,我可以再次使用它们。
    • 来自 MSDN - StaticColor.FromArgbm_Rnd 只是一个变量。一点也不粗鲁,但 MSDN 提供了您需要的所有答案。
    • 为什么随机数生成器被声明为Static,见第二个回答here
    • 感谢您的帮助。我非常感激。我将研究找出我在 MSDN 上输入的每件事的含义。目前正在阅读this 文章。再次感谢您的帮助。 :)
    【解决方案2】:
    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
    

    希望这有助于作为第二种选择

    【讨论】:

    • 这与其他建议的作用相同吗?将标签颜色更改为随机颜色?我不明白为什么两个不同的代码会做同样的事情。如果有人想逐步解释这些代码的作用,我将不胜感激。我正在尝试尽可能多地学习。这样我就可以输入自己的代码,这样我就可以通过向其他人展示该做什么来回答他们的问题。我不知道 Dim 是做什么的,mybrush 是什么意思,Brushes.Black 是什么意思,ColorDialog() 是什么意思,或者 As New 是什么意思。我正在努力学习。在 MSDN 上,定义仍然很复杂。
    • 它的作用完全一样,但是你可以看到所有的颜色图表,在你选择颜色之前,你自己跑去看看......所以.keyword'''dim''告诉计算机,您将要“声明”一个“变量”,变量是计算机中的一块存储空间,您将在其中存储一个值,在这种情况下,变量称为我的画笔....您可以将变量称为任何东西欲望,而是创建一个有意义的变量名,这就是为什么你写 ,,dim mybrush = Brushes.black ..brushes .black 是预定义的。vbtutor.net/vb2008book/vb2008me_preview.pdf
    • 非常感谢巴里。我很感激。 :) 如果你想试一试,我还有另一个问题。 stackoverflow.com/questions/28551160/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-26
    • 1970-01-01
    • 1970-01-01
    • 2013-08-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多