c# winforms在打开对话框时返回空表单

本文关键字:返回 表单 打开对话框 winforms | 更新日期: 2023-09-27 18:02:55

当我尝试显示对话框时,我有问题。当我传递this参数时,参数形式为空。

我做什么:

在我的GroupsForm.cs形式中,我创建了这个方法:

   private void addGrupuBtn_Click(object sender, EventArgs e)
    {
        using (var add = new GroupAdd(this))
        {
            add.ShowDialog();
        }
    }

GroupAdd.cs形式中,我尝试通过构造函数

注入GroupsForm.cs
    public partial class GroupAdd : Form
    {
        private GrupeForm grupeForm;
        public GroupAdd()
        {
            InitializeComponent();
        }
        public GroupAdd(GrupeForm groups) { 
            grupeForm = groups;
        }
  }

当我调用没有this的默认构造函数时,窗体内的所有控件都是红色的。

这个工作可以。

using (var add = new GroupAdd())

c# winforms在打开对话框时返回空表单

您忘记在构造函数中调用InitializeComponent(),这就是为什么它不起作用。

修改你的代码:

    public GroupAdd(GrupeForm groups) { 
        grupeForm = groups;
        InitializeComponent();
    }

你也应该调用无参数(默认)的actor来初始化你的控件。

public GroupAdd(GrupeForm groups)
    : this()
{ 
    grupeForm = groups;
}