C# winfrom datagridview 子父窗口传值问题

现在有这么一个情况:两个窗口分别有一个datagridview,要在父窗体中双击datagridview1一列弹出子窗体,在弹出的子窗体中双击datagridview2的... 现在有这么一个情况:
两个窗口分别有一个datagridview,要在父窗体中双击datagridview1一列弹出子窗体,在弹出的子窗体中双击datagridview2的一列赋值给刚才父窗体中datagridview1所双击的那列....
说昏了,值得到了...就是不知道怎么回传给父窗体!菜鸟求助~~~~
展开
 我来答
muguangqiang1
推荐于2016-07-29 · TA获得超过422个赞
知道答主
回答量:59
采纳率:0%
帮助的人:70.5万
展开全部
1、父窗口传值给子窗口
你可以把父窗口自已传过去,在子窗口方便操作。
Form2 form2= new Form2(this);//实例化一个Form2窗口并把自己传过去
form2.ShowDialog();
在子窗口就可以直接改化变父窗口的值。
另外一种就是用变量在两个窗体之间传值,下面有一个例子,网上找了,希望对你有所帮助。

Form1中代码:

public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
Form2 lForm = new Form2();//实例化一个Form2窗口
lForm.String1 = "传值给子窗口Form2成功";//设置Form2中string1的值
lForm.SetValue();//设置Form2中Label1的
lForm.ShowDialog();
}

Form2中代码:

private string string1;
public string String1
{
set
{
string1 = value;
}
}

public void SetValue()
{
this.label1.Text = string1;
}

public Form2()
{
InitializeComponent();
}

2、子窗口返回值给父窗口

Form1中代码:

public Form1()
{
InitializeComponent();
}

private string strValue;
public string StrValue
{
set
{
strValue = value;
}
}

private void btnShowForm2_Click(object sender, EventArgs e)
{
Form2 lForm = new Form2();
lForm.Owner = this;//重要的一步,主要是使Form2的Owner指针指向Form1
lForm.ShowDialog();
MessageBox.Show(strValue);//显示返回的值
}

From2中代码:

public Form2()
{
InitializeComponent();
}

private void btnClose_Click(object sender, EventArgs e)
{
Form1 lForm1 = (Form1)this.Owner;//把Form2的父窗口指针赋给lForm1
lForm1.StrValue = "子窗口Form2返回数值成功";//使用父窗口指针赋值
this.Close();
}
wf00117299
2009-10-07
知道答主
回答量:30
采纳率:0%
帮助的人:15.7万
展开全部
子窗体写一个Form的对象或者就写父窗体datagridview的对象,在子窗体写一个带参的构造函数!把父窗体对象传过去。就可以随意找了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hoszb
2009-10-06 · TA获得超过182个赞
知道答主
回答量:161
采纳率:0%
帮助的人:129万
展开全部
父窗口的datagridview1在第designer.cs里改为public的,子窗口写个构造函数,

class ChildForm : Form{
FatherForm father
public ChildForm(FatherForm father)
:this()
{
this.father = father;
}
public void 传值()
{
father.datagridview1.XXXX = XXXXX;
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式