当在 C# 中我们添加任何新的 Windows 窗体时,该窗体默认是从 Form 类继承的,所以我想查看这个 Form 类,并且我想为我的项目更改默认 Form 类中的某些内容。
那么,这个 Form 类在哪里以及如何更改它?
我有很多表格。所有表单的加载事件和调整大小事件都包含以下代码。
private void frmBranchDetails_Resize(object sender, EventArgs e)
{
panel1.Left = (this.ClientSize.Width - panel1.Width) / 2;
panel1.Top = (this.ClientSize.Height - panel1.Height) / 2;
}
private void frmBranchDetails_Load(object sender, EventArgs e)
{
this.WindowState = FormWindowState.Maximized;
}
所以我只想在内置的 Form 类中编写一次上述代码,当我们添加任何新表单时,该类会继承该类。
所以不要在所有窗口窗体中重复编写上述代码。
所以我希望当我添加任何新表单时,上面的代码会自动添加,因为任何表单都是默认 Form 类继承的。所以我想在 Form 类中编写上面的代码。
但是这个默认的 Form 类在哪里以及如何在该类中编写上面的代码不知道,所以这是我的问题。
最佳答案
您无法更改System.Windows.Forms
中的任何内容。但你可以做的是:
创建一个继承自
System.Windows.Forms
的parentForm。public partial class ParentForm: System.Windows.Forms
在
ParentForm
中添加您额外需要的功能。创建从此
ParentForm
继承的所有其他表单。喜欢:public partial class NewForm: ParentForm
这就是继承的美妙之处。
编辑:
对于您的问题:
创建一个 ParentForm,例如:
public partial class baseForm : Form
{
public baseForm()
{
this.Load += new System.EventHandler(this.FormLoad);
this.Resize += new System.EventHandler(this.frmBranchDetails_Resize);
}
protected virtual void FormLoad(object sender, EventArgs e)
{
this.WindowState = FormWindowState.Maximized;
}
private void frmBranchDetails_Resize(object sender, EventArgs e)
{
panel1.Left = (this.ClientSize.Width - panel1.Width) / 2;
panel1.Top = (this.ClientSize.Height - panel1.Height) / 2;
}
}
注意:panel1
应在 baseForm
中创建才能访问它。
然后创建您的 NewForm
表单,如下所示:
public partial class NewForm: baseForm
{
}
现在 NewForm
表单已经具有这两个功能。
关于c# - 如何在C#中访问Form类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23224354/