在打开窗体之前要执行的全局函数
本文关键字:执行 全局 函数 开窗 窗体 | 更新日期: 2023-09-27 17:50:44
我有大约15个表单,每个表单都包含一些类似的代码。
我想知道的是,当窗体打开时,是否有任何方法可以自动调用包含该特定代码段的函数?
比如,假设我想在每次加载任何形式的项目时显示Hello World
消息。
所以我能做的是,我可以创建一个模块或类文件,我可以添加一段代码,我可以用各种形式调用它
但我不想,我想的是,有没有任何方法可以添加这段代码,并在加载表单时自动填充/触发它。
也许我们可以称之为表单的自动调用函数
比如,每当一个窗体自动打开时,就会调用一个类或函数,而不在特定的窗体中定义它。也许是一个库,当窗体加载时,它会被调用,我可以在那里添加我的代码,然后它就会被执行。
创建自己的基类,继承自表单:
public abstract class FormBase : Form { /*...*/ }
然后,您使用的每个表单都可能继承自这个基类:
public class MyForm : FormBase { /*...*/ }
您可以在表单中添加一个事件处理程序,并在其中放入需要运行的任何代码。
例如:
this.Load += new System.EventHandler(this.FormName_Load);
public class frm_Base : Form
{
public void frm_Base()
{
this.Load += new System.EventHandler(this.frm_Base_Load);
}
public void frm_Base_Load(object sender, EventArgs e)
{
OnFormLoad();
}
public virtual OnFormLoad()
{
MessageBox.Show("Hello World");
}
}
public class frm_Derived : frm_Base
{
public override OnFormLoad()
{
base.OnFormLoad();
MessageBox.Show("Another Hello From Derived");
}
}
现在,您可以继承所有其他表单中加载时发生的功能,也可以通过使加载方法虚拟化来做其他事情。