form1: private void button1_Click(object sender, EventArgs e)
{
DallClass1 dc = new DallClass1();
Form2 f2 = new Form2(dc);
f2.ShowDialog();
dcop(); //用于接收cla
} private void dcop()
{
}
form2:
private void button1_Click(object sender, EventArgs e)
{
cla = new List<DallClass1>(); for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
if ((bool)dataGridView1.Rows[i].Cells[0].EditedFormattedValue == true)
{
DallClass1 dc = new DallClass1();
dc._PType = dataGridView1.Rows[i].Cells[2].Value.ToString();
dc._PBM = dataGridView1.Rows[i].Cells[3].Value.ToString(); dc._PName = dataGridView1.Rows[i].Cells[4].Value.ToString();
dc._PGType = dataGridView1.Rows[i].Cells[5].Value.ToString(); dc._PUnits = dataGridView1.Rows[i].Cells[6].Value.ToString();
dc._Pprice = dataGridView1.Rows[i].Cells[7].Value.ToString(); cla.Add(dc);
}
}
this.Close();
}
请问 怎么在form1的dcop方法中接收form2返回的cla集合的值。谢谢
{
DallClass1 dc = new DallClass1();
Form2 f2 = new Form2(dc);
f2.ShowDialog();
dcop(); //用于接收cla
} private void dcop()
{
}
form2:
private void button1_Click(object sender, EventArgs e)
{
cla = new List<DallClass1>(); for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
if ((bool)dataGridView1.Rows[i].Cells[0].EditedFormattedValue == true)
{
DallClass1 dc = new DallClass1();
dc._PType = dataGridView1.Rows[i].Cells[2].Value.ToString();
dc._PBM = dataGridView1.Rows[i].Cells[3].Value.ToString(); dc._PName = dataGridView1.Rows[i].Cells[4].Value.ToString();
dc._PGType = dataGridView1.Rows[i].Cells[5].Value.ToString(); dc._PUnits = dataGridView1.Rows[i].Cells[6].Value.ToString();
dc._Pprice = dataGridView1.Rows[i].Cells[7].Value.ToString(); cla.Add(dc);
}
}
this.Close();
}
请问 怎么在form1的dcop方法中接收form2返回的cla集合的值。谢谢
private void button1_Click(object sender, EventArgs e)
{
DallClass1 dc = new DallClass1();
Form2 f2 = new Form2(dc);
f2.ShowDialog();
List<DallClass1> cla = f2.CLA; dcop(); //用于接收cla
} private void dcop()
{
} private List<DallClass1> cla;
public List<DallClass1> CLA
{
get { return cla; }
set { cla = value; }
} private void button1_Click(object sender, EventArgs e)
{
cla = new List<DallClass1>();
...
class B
{
public B(datagridview dg)
{
InitializeComponent();
B_dg=dg;
}
datagridview B_dg;
}
private void button1_Click(object sender, EventArgs e)
{
//在这里将你要向datagridview中添加的东西添加进来,然后在A窗体中就有了你新添加的东东了,
//要是没有的话,你在新写的B窗体的构造函数的参数前加out,就可以了
}
代码不是写的很全,我以前也写过一个类似的,只要把控件传递过来向控件中添加就可以了
FormMain formMain = new FormMain(UserId);
formMain.Login = this;
formMain.Show();
Main窗体:
int userId = 0;//定义接收变量
public FormMain(int UserId)
{
InitializeComponent();
userId = UserId;
}
private FormLogin login; public FormLogin Login
{
get { return login; }
set { login = value; }
}
f2.ShowDialog();
form1定义List<DallClass1>属性
赋值到属性
如
public partial class Form1 : Form
{
private void button1_Click(object sender, EventArgs e)
{
Form2 frm2 = new Form2();
frm2.Show(this);
}
} public partial class Form2 : Form
{
private void button1_Click(object sender, EventArgs e)
{
Form1 frm1 = (Form1)this.Owner;
((TextBox)frm1.Controls["textBox1"]).Text = this.textBox2.Text;
this.Close();
}
}
在Form2类中添加属性如下:
private List<DallClass1> cla;
public List<DallClass1> CLA
{
get { return cla; }
set { cla = value; }
}
在Form1中可以通过如下方式来得到cla:
Form2 form2=new Form2();
List<DallClass1> cla=form2.CLA;
private List<DallClass1> cla2=new List<DallClass1>();
private void button1_Click(object sender, EventArgs e)
{
DallClass1 dc = new DallClass1();
Form2 f2 = new Form2(dc);
f2.ShowDialog();
dcop(); //用于接收cla
} private void dcop()
{
Form2 form=new Form2();
form.Owner=this;
cla2=(Form1)form;
}
form2:
private void button1_Click(object sender, EventArgs e)
{
cla = new List<DallClass1>(); for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
if ((bool)dataGridView1.Rows[i].Cells[0].EditedFormattedValue == true)
{
DallClass1 dc = new DallClass1();
dc._PType = dataGridView1.Rows[i].Cells[2].Value.ToString();
dc._PBM = dataGridView1.Rows[i].Cells[3].Value.ToString(); dc._PName = dataGridView1.Rows[i].Cells[4].Value.ToString();
dc._PGType = dataGridView1.Rows[i].Cells[5].Value.ToString(); dc._PUnits = dataGridView1.Rows[i].Cells[6].Value.ToString();
dc._Pprice = dataGridView1.Rows[i].Cells[7].Value.ToString(); cla.Add(dc);
((form)this.Owner).cla2=cla;
}
}
this.Close();
}
1.父窗体的Designer.cs文件中(以Lable为例)
public System.Windows.Forms.Label label1;
2。在子窗体中生成对象
父窗体名称 f=new 父窗体名称();
f.Lable1.Text="你好";