从窗口引用主窗口? 一个主窗口,包含一个dgv控件,绑定的数据源是多表的。主窗口按“+”弹出从窗口,从窗口包含一个textbox,用来输入字符作为关键字查询表table1,查询的结果只有一条,并添加到主窗口的dgv里。现在发现在从窗口写代码的时候,不能引用主窗口的dgv控件,难道只能用参数传递的办法吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 把dgv改成public然后在按"+"时将从窗口的Owenr = this;在从窗口输入时用主窗口 frm = (主窗口)this.Owner; 就可以永frm.dgv来操作dgv控件了 出错了:("当控件被数据绑定时,无法以编程方式向DataGridView的行集合添加行。" 那你看看能不能操作DataTable来改变 可以吧. DataRow dr = dt.NewRow(); dr["F1"] = null; dt.Rows.Add(dr);然后再来个FOR语句向里面加数,我就是这么做的. 太好了。同一段代码回答2个人的问题private void button1_Click(object sender, EventArgs e) { this.Owner.Controls["textBox1"].Text = "aaa"; } Form2 form2 = new Form2(); form2.ShowDialog(this); Form2 form2 = new Form2(); form2.ShowDialog(this); 首先将主窗体中需要在其它窗体中操作的控件dgv设为public按"+"实例化新窗口时,将当前的主窗口传进去如: childForm child = new childForm(this); child.show(); childForm为新弹出来的窗体,this为当前打开的主窗体 新窗体中的构造方法改下 private MainForm main=null; public childForm(MainForm form) { this.main = form; } 之后通过main.dgv 操作 表单提交 相对路径问题 求购一算法 有关 Explorer C#中如何把十进制转为十六进制? 求一段广东省的gps导航数据 IP扫描 高手请进:C#如何实现嵌套类的值传递??? c#学完以后有几个方向可发展?(必给分) 关于c#,out方法的问题,求帮忙 转化为首字大写的javascript,怎么写? 用C# 获取 cpu 序列号,但在不同电脑上是一样的,怎么回事?
主窗口 frm = (主窗口)this.Owner;
就可以永frm.dgv来操作dgv控件了
可以吧. DataRow dr = dt.NewRow();
dr["F1"] = null;
dt.Rows.Add(dr);然后再来个FOR语句向里面加数,我就是这么做的.
private void button1_Click(object sender, EventArgs e)
{
this.Owner.Controls["textBox1"].Text = "aaa";
}
form2.ShowDialog(this);
form2.ShowDialog(this);
按"+"实例化新窗口时,将当前的主窗口传进去
如:
childForm child = new childForm(this);
child.show();
childForm为新弹出来的窗体,this为当前打开的主窗体
新窗体中的构造方法改下
private MainForm main=null;
public childForm(MainForm form)
{
this.main = form;
}
之后通过main.dgv
操作