我是一名学生,并且根本没有编码很长一段时间,因此不了解许多可用的功能。
现在,我遇到了一个问题,我有我的第一个表格来召集另一张表格,然后我想在表格打开后立即快速更改颜色。
我已经制作了一种可以在按下按钮后立即快速改变颜色的表格,但是在这里我希望它在出现后立即开始。
我知道以前可能会问过这个问题,但我找不到真正可行的答案。有人在谈论有关使用“ 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”表示)
答案 0 :(得分:1)
您为什么需要计时器? 用户注意到这种颜色变化是否很重要? 否则,为什么不只在显示表单之前设置该颜色?不涉及计时器,事件处理程序等。通过这种方法,您可以完全控制。
private void btnkör_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
f2.BackColor = Color.OrangeRed;
f2.Show();
}
这样,将在创建/初始化表单之后以及显示之前设置背景色。它将显示为“ OrangeRed”,用户将不会注意到这种变化。
当然,将您的代码放置在随机生成颜色的位置。请记住有关“随机”对象的第二条评论。
如果您不需要随机颜色,但需要一些静态颜色,则可以直接在表单上(设计模式下)设置BackColor属性,而无需这段代码。