固定一个窗体在另一个窗体中首先需要设置父窗体IsMdiContainer属性为True,然后在Load事件中加入以下语句:
NewContact newConFrm = new NewContact(this);
newConFrm.NewGroup = CreateGroup;
newConFrm.MdiParent = this;
newConFrm.Show();
注意不能用ShowDialog,因为它不是父类。
这样的话如果在第三行下加代码则会略过:
NewContact newConFrm = new NewContact(this);
newConFrm.NewGroup = CreateGroup;
newConFrm.MdiParent = this;
newConFrm.Show();
Nam=newConFrm.Nam;
第四行这句话就不会起作用,所以需要在newConFrm里面点击按钮的时候改变父窗体的信息:
private Form1 form;
public NewContact()
{
InitializeComponent();
}
public NewContact(Form1 f)
{
form = f;
InitializeComponent();
}
首先private Form1 form;是存了一个父类的实例,之后的第二个构造函数就可以使用form来改变父类中的变量了。
form.all += 1;
form.Nam[form.all] = txtName.Text;
不过注意在改变的时候需要在前面加上一个form.
从一个窗体传和接收值只需要加上
public string[] Nam { get; set; }
其它的类型也可以用,
public ComboBox NewGroup { get; set; }
不过combox赋值需要一条一条赋
foreach (string s in NewGroup.Items)
cbName.Items.Add(s);
退出子窗体的方法:
this.Close();