c#颜色变化循环

时间:2017-06-27 08:56:30

标签: c# winforms while-loop

我试图制作一个'自动变色循环'换句话说,当某人的鼠标悬停在标签上时,它会以快速重复的方式改变颜色,比如300微秒。

private void label1_MouseHover(object sender, EventArgs e)
    {
        while (true)
        {
            Random color = new Random();
            Color randomColor = Color.FromArgb(color.Next(255), color.Next(255), color.Next(255)); label1.ForeColor = randomColor;
            return;
        }
    }

这个问题在循环中,或者我应该说缺少它,我假设while(true)本身就是一个循环,如果我把鼠标放在同一个地方,只要它结束了它会起作用的标签,但它只行动一次,简单来说,我必须将鼠标悬停在它上面,然后离开该区域,然后再次悬停,让它改变颜色两次,理想的是我可以让它总是改变它颜色,所以我不必悬停,但我想不出办法,因为我需要while循环。第二部分的任何想法都是值得赞赏但不是必要的:)

1 个答案:

答案 0 :(得分:0)

好的,感谢那些意识到我是白痴的家伙:3

对于任何可能需要/需要代码的人。

在表格的开头:

public Form2()
    {
        InitializeComponent();
        notifyIcon1.Visible = true;
        timer2.Start();

    }

private void timer2_Tick(object sender, EventArgs e)
    {
        timer2.Interval = 100;
        timer2.Enabled = true;
        timer2.Tick += changer;
    }

void changer (object sender, EventArgs e)
    {
        Random color = new Random();
        Color randomColor = Color.FromArgb(color.Next(255), color.Next(255), color.Next(255));
        label1.ForeColor = randomColor;
    }

现在添加这些,顺便说一句,我知道我每次都会发出一个新的随机,如果你想编辑它,继续,但它对我有用,非常好,所以我会保持它方式。