1、从父窗体传到子窗体
//
通过子窗体的属性来传递值
ChildForm form = new ChildForm();
form.FormValue1 = this .value1;
form.FormValue2 = this .value2;
form.ShowDialog();
Class ChildForm
{
private string formValue1;
private string formValue2;
public string FormValue1
{
set
{
this.formValue1= value;
}
}
public string FormValue2
{
set
{
this.formValue2 = value;
}
}
}
ChildForm form = new ChildForm();
form.FormValue1 = this .value1;
form.FormValue2 = this .value2;
form.ShowDialog();
Class ChildForm
{
private string formValue1;
private string formValue2;
public string FormValue1
{
set
{
this.formValue1= value;
}
}
public string FormValue2
{
set
{
this.formValue2 = value;
}
}
}
//
通过向子窗体的构造函数传参数来传值
ChildForm form = new ChildForm( this .value1, this .value2);
form.ShowDialog();
Class ChildForm
{
private formValue1;
private formValue2;
public ChildForm(string value1,string value2)
{
this.formValue1 = value1;
this.formValue2 = value2;
}
}
ChildForm form = new ChildForm( this .value1, this .value2);
form.ShowDialog();
Class ChildForm
{
private formValue1;
private formValue2;
public ChildForm(string value1,string value2)
{
this.formValue1 = value1;
this.formValue2 = value2;
}
}
2、从子窗口传值到父窗口
//
直接调用父窗口的函数
Class ChildForm
{
private Form form;//父窗体
private void SendToParent()
{
string value1 = string.Empt;
string value2 = string.Empt;
(ParentForm)form.Send(value1,value2);
}
}
Class ParentForm
{
public void Send(stirng value1,string value2)
{
// ……
}
}
Class ChildForm
{
private Form form;//父窗体
private void SendToParent()
{
string value1 = string.Empt;
string value2 = string.Empt;
(ParentForm)form.Send(value1,value2);
}
}
Class ParentForm
{
public void Send(stirng value1,string value2)
{
// ……
}
}
//
根据委托来传递值
public delegate void SetValueGate(string value1,string value2);
Class ChildForm
{
public SetValueGate set;
private void Save_Ok()
{
string value1 = "vv";
string value2 = "ww";
if(set!=null)
set(value1,value2);
}
}
ParentForm:
ChildForm form = new ChildForm();
form.set+=new SetValueGate(setvv);
private void setvv(string value1,string value2)
{
}