打开表单之前要执行的全局函数

时间:2013-01-04 11:10:28

标签: c# visual-studio-2010 class function

我有大约15个表格,每个表格都包含一些类似的代码。

我想知道的是,当表单打开时,有什么方法可以自动调用包含该特定代码的函数吗?

喜欢,假设我想在每次加载任何形式的项目时都显示Hello World消息。

所以我可以做的是我可以创建一个模块或类文件,我可以添加一段代码,我可以在每种形式中调用它。

但是我不想要,我想要的是,有什么方法可以添加这段代码,并在表单加载时自动填充/触发。

也许我们可以称之为 - 表单的自动调用函数

就像,无论何时表单自动打开,都会调用类或函数,而不以特定形式定义它。也许是一种库类型的东西,当一个表格被加载时它会被调用,我可以在那里添加我的代码并执行它。

3 个答案:

答案 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");
  }
}

现在,您可以继承所有其他表单中加载时发生的功能,也可以通过将加载方法设置为虚拟来执行其他操作。