每次尝试点击按钮时如何更改按钮的颜色?

时间:2017-03-30 09:40:40

标签: c# winforms

我有一个问题记录到我今天写的代码。我知道我可以更改按钮的背景颜色,但只需更改一次(使用:button2.BackColor = Color.Yellow;)。但现在,我有一个问题 每次尝试单击按钮时颜色都应该更改。它是如何工作的?谢谢你的帮助。

这是我的代码。我编写了一些有趣的东西:当你试图点击按钮时,它会消失并出现在其他地方:)。 ¨

public partial class Form1 : Form 
{
    public Form1() 
    {
        InitializeComponent();
    }

    Random cox = new Random();

    private void button2_MouseMove(object sender, MouseEventArgs e)
    {
        int x = cox.Next(500);
        int y = cox.Next(500);
        button2.Left = x;
        button2.Top = y;
    }
}

1 个答案:

答案 0 :(得分:4)

通常你有两个选择:保持一个颜色数组,并在每次点击时从该数组中随机选择颜色,或者在每次点击时生成随机颜色。

选项1:

// inside your form:
Color[] colors = new Color[] {Color.Yellow, Color.Green, Color.Red};

// inside the button click event handler:
button2.BackColor = colors[col.Next(0,colors.Length)];

选项2:

// inside the button click event handler:

button2.BackColor = new Color(col.Next(0,256), col.Next(0,256), col.Next(0,256));

当然,这两个选项都使用您提供的代码中名为Random的{​​{1}}实例。