我有大约15个表格,每个表格都包含一些类似的代码。
我想知道的是,当表单打开时,有什么方法可以自动调用包含该特定代码的函数吗?
喜欢,假设我想在每次加载任何形式的项目时都显示Hello World
消息。
所以我可以做的是我可以创建一个模块或类文件,我可以添加一段代码,我可以在每种形式中调用它。
但是我不想要,我想要的是,有什么方法可以添加这段代码,并在表单加载时自动填充/触发。
也许我们可以称之为 - 表单的自动调用函数
就像,无论何时表单自动打开,都会调用类或函数,而不以特定形式定义它。也许是一种库类型的东西,当一个表格被加载时它会被调用,我可以在那里添加我的代码并执行它。
答案 0 :(得分:3)
创建自己的基类继承自form:
public abstract class FormBase : Form { /*...*/ }
然后,您使用的每个表单都可以从此基类继承:
public class MyForm : FormBase { /*...*/ }
答案 1 :(得分:0)
您可以向表单添加事件处理程序,并将需要运行的代码放在那里。
例如:
this.Load += new System.EventHandler(this.FormName_Load);
答案 2 :(得分:0)
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");
}
}
现在,您可以继承所有其他表单中加载时发生的功能,也可以通过将加载方法设置为虚拟来执行其他操作。