gpt4 book ai didi

c# - 如何在 C# 中访问 Form 类?

转载 作者:行者123 更新时间:2023-11-30 20:49:43 28 4
gpt4 key购买 nike

当在 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 类在哪里以及如何在该类中编写上面的代码不知道所以这是我的问题。

最佳答案

您不能更改 System.Windows.Forms 中的任何内容。但是你可以做的是:

  1. 创建一个继承自System.Windows.Forms 的parentForm。

    public partial class ParentForm: System.Windows.Forms
  2. ParentForm中额外添加您需要的功能。

  3. 创建继承自此 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/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com