欢迎光临
我们一直在努力

C#:重载窗体构造函数

在 C# WinForms 中,通常通过重载(Overload)构造函数来传递参数或执行自定义初始化逻辑。必须确保在所有自定义构造函数中调用 `InitializeComponent()`,通常通过链式调用无参构造函数实现,以保证界面控件正确初始化 。
public partial class Form1 : Form
{
    // 1. 默认无参构造函数(设计器生成,必须保留)
    public Form1()
    {
        InitializeComponent();
    }

    // 2. 带参数的构造函数
    // 使用 : this() 链式调用无参构造函数,确保先执行 InitializeComponent()
    public Form1(string title) : this()
    {
        this.Text = title;
    }

    // 3. 多参数构造函数
    public Form1(string title, int width) : this(title)
    {
        this.Width = width;
    }
}

调用示例:

// 实例化时传入参数
Form1 form = new Form1("自定义标题", 800);
form.Show();

注意:
– 严禁在 `InitializeComponent()` 之前访问窗体上的控件(如 `textBox1.Text = "…"`),否则会抛出空引用异常,因为此时控件尚未创建 。
– 如果需要在界面初始化后执行逻辑,建议重写 `OnLoad` 方法或在构造函数末尾添加代码,而不是修改 `InitializeComponent` 内部实现 。

赞(0)
未经允许不得转载:171主机测评 » C#:重载窗体构造函数
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址