刷新窗体窗口
本文关键字:窗口 窗体 刷新 | 更新日期: 2023-09-27 18:34:44
我正在制作一个简单的小Windows应用程序。这是我的主要功能:
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
// This will be my Form object
Form1 robotPath = new Form1();
Application.Run(robotPath);
// at this point I'll try to make changes to my object
// for instance I'll try to change a background image
robotPath.changeImage();
}
但是,更改对象后,更改不会反映在输出窗口中(背景不会更改(。我已经尝试了robotPath.refresh((和robotPath.invalidate((,但背景仍然没有改变。但是,当我使用按钮单击事件调用 changeImage 函数时,它可以工作。但是我希望在不使用按钮/鼠标事件的情况下更改它。(随着 Form1 对象的更改,背景会发生变化(有什么建议吗?
Application.Run()
在主窗体关闭之前不会返回。在程序关闭之前,Application.Run()
后运行的所有代码都不会运行。这显然不是你想要的。
您可以通过重新排序main
来轻松解决问题:
Form1 robotPath = new Form1();
robotPath.changeImage();
Application.Run(robotPath);
另一种方法是将调用changeImage
移动到Form1
的构造函数中,或者在表单生命周期的早期触发的某些事件,例如 Load
.此选项可以更好地封装窗体的行为。