表单加载后如何立即执行代码?

时间:2018-10-17 09:52:12

标签: c# winforms

我是一名学生,并且根本没有编码很长一段时间,因此不了解许多可用的功能。

现在,我遇到了一个问题,我有我的第一个表格来召集另一张表格,然后我想在表格打开后立即快速更改颜色。

我已经制作了一种可以在按下按钮后立即快速改变颜色的表格,但是在这里我希望它在出现后立即开始。

我知道以前可能会问过这个问题,但我找不到真正可行的答案。有人在谈论有关使用“ OnLoad”或“ Application.run”的内容,但是当我在Microsoft Visual Studio中键入这些内容时,我似乎无法弄清这些内容。

这是初始形式的代码:

    private void btnkör_Click(object sender, EventArgs e)
    {
        Form2 f2 = new Form2();
        f2.Show();
    }

这是第一种形式的第二种形式的代码:

  private void Form2_Load(object sender, EventArgs e)
    {
        this.Visible = true;

        Timer.Enabled = true;
    }

    private void Timer_Tick(object sender, EventArgs e)
    {         
        Random Generator = new Random();

        BackColor = Color.FromArgb(255, Generator.Next(1, 256), Generator.Next(1, 256), Generator.Next(1, 256));
    }

仅供参考,第二种形式是一个完全空的正方形形式,而第一种形式是一个很小的窗口,完全由“kör”按钮占据(瑞典语中的“ run”表示)

1 个答案:

答案 0 :(得分:1)

您为什么需要计时器? 用户注意到这种颜色变化是否很重要? 否则,为什么不只在显示表单之前设置该颜色?不涉及计时器,事件处理程序等。通过这种方法,您可以完全控制。

private void btnkör_Click(object sender, EventArgs e)
{
    Form2 f2 = new Form2();
    f2.BackColor = Color.OrangeRed;
    f2.Show();
}

这样,将在创建/初始化表单之后以及显示之前设置背景色。它将显示为“ OrangeRed”,用户将不会注意到这种变化。

当然,将您的代码放置在随机生成颜色的位置。请记住有关“随机”对象的第二条评论。

如果您不需要随机颜色,但需要一些静态颜色,则可以直接在表单上(设计模式下)设置BackColor属性,而无需这段代码。