winfrom关闭子窗体刷新父窗体问题

时间:2021-01-22 23:47:59
我添加了信息后子窗体就关闭  但是父窗体的gridview没有刷新 还是老数据
我要添加后子窗体关闭,父窗体的gridview能显示刚刚新增加的数据
怎么做啊   在线结贴

14 个解决方案

#1


有两种方法:
一,添加数据关闭子窗体后,立即刷新gridview的数据集
二,添加数据关闭子窗体后,把添加的数据添加到gridview数据集

#2


[code=C#]
private void btnShow_Click(object sender, EventArgs e)
{
     Form2 f = new Form2();
     f.ShowDialog();
     。。。。。。。。。。。
     //处理Form2关闭后,添加的数据处理或刷新gridview
}
code]

#3


通过ShowDialog()的方式打开子窗体,并在打开窗体的代码后面加上对应的处理

#4


引用 2 楼 pp_shy 的回复:
[code=C#] 
private void btnShow_Click(object sender, EventArgs e) 

    Form2 f = new Form2(); 
    f.ShowDialog(); 
    。。。。。。。。。。。 
    //处理Form2关闭后,添加的数据处理或刷新gridview 

code]

怎么判断form2是否关闭?

#5



//你在主窗体调用子窗体事件里面写:
  子窗体f = new 子窗体();
  f.Owner = this;
  f.ShowDialog();
  if (f.DialogResult == DialogResult.OK)
  {
     //子窗体上面点击确定按钮想执行的内容,这里添加内容后可以重新绑定,如果datagridview是bingsource绑定的话,直接把数据源给bingsource即可
  }

//在子窗体窗体加载事件里面写:
确定按钮.DialogResult = DialogResult.OK;
取消按钮.DialogResult = DialogResult.Cancel;

#6


LZ用我上面就可以了
这样你点击确定按钮后会执行if (f.DialogResult == DialogResult.OK)里面的内容
点击取消会自己关闭的,什么也不执行,不用再写取消事件了

#7


ShowDialog()是模态对话框方式。
当打开的Form2窗体关闭后,才会接着执行ShowDialog()后的语句。
所以不需要判断关闭

#8


你可以把主窗体的Form_Load事件声明为public。
在子窗体关闭的时候。重新LOAD一下主窗体。
如:

frmWorkCheck.frmfbi = new frmFreebackInfo();
frmWorkCheck.frmfbi.label3.Text = count;
frmWorkCheck.frmfbi.frmFreebackInfo_Load(sender,e);
this.Dispose();
this.Close();

#9


引用 5 楼 wangping_li 的回复:
C# code
//你在主窗体调用子窗体事件里面写:
  子窗体f = new 子窗体();
  f.Owner = this;
  f.ShowDialog();
  if (f.DialogResult == DialogResult.OK)
  {
     //子窗体上面点击确定按钮想执行的内容,这里添加内容后可以重新绑定,如果datagridview是bingsource绑定的话,直接把数据源给bingsource即可
  }

//在子窗体窗体加载事件里面写:
确定按钮.DialogResult = DialogResult.OK;
取消按钮.DialogResult =…


这个方法试过了  能用   解决问题  谢谢

#10


引用 5 楼 wangping_li 的回复:
C# code//你在主窗体调用子窗体事件里面写:  子窗体f=new 子窗体();
  f.Owner=this;
  f.ShowDialog();if (f.DialogResult== DialogResult.OK)
  {//子窗体上面点击确定按钮想执行的内容,这里添加内容后可以重新绑定,如果datagridview是bingsource绑定的话,直接把数据源给bingsource即可¡­

很好,解决问题

#11


很好

#12


C# code//你在主窗体调用子窗体事件里面写: 子窗体f=new 子窗体();
f.Owner=this;
f.ShowDialog();if (f.DialogResult== DialogResult.OK)
{//子窗体上面点击确定按钮想执行的内容,这里添加内容后可以重新绑定,如果datagridview是bingsource绑定的话,直接把数据源给bingsource即可¡­

#13


在窗体关闭后重新绑定gridview不就行了

#14


真的很有用呀,谢谢了哈

#1


有两种方法:
一,添加数据关闭子窗体后,立即刷新gridview的数据集
二,添加数据关闭子窗体后,把添加的数据添加到gridview数据集

#2


[code=C#]
private void btnShow_Click(object sender, EventArgs e)
{
     Form2 f = new Form2();
     f.ShowDialog();
     。。。。。。。。。。。
     //处理Form2关闭后,添加的数据处理或刷新gridview
}
code]

#3


通过ShowDialog()的方式打开子窗体,并在打开窗体的代码后面加上对应的处理

#4


引用 2 楼 pp_shy 的回复:
[code=C#] 
private void btnShow_Click(object sender, EventArgs e) 

    Form2 f = new Form2(); 
    f.ShowDialog(); 
    。。。。。。。。。。。 
    //处理Form2关闭后,添加的数据处理或刷新gridview 

code]

怎么判断form2是否关闭?

#5



//你在主窗体调用子窗体事件里面写:
  子窗体f = new 子窗体();
  f.Owner = this;
  f.ShowDialog();
  if (f.DialogResult == DialogResult.OK)
  {
     //子窗体上面点击确定按钮想执行的内容,这里添加内容后可以重新绑定,如果datagridview是bingsource绑定的话,直接把数据源给bingsource即可
  }

//在子窗体窗体加载事件里面写:
确定按钮.DialogResult = DialogResult.OK;
取消按钮.DialogResult = DialogResult.Cancel;

#6


LZ用我上面就可以了
这样你点击确定按钮后会执行if (f.DialogResult == DialogResult.OK)里面的内容
点击取消会自己关闭的,什么也不执行,不用再写取消事件了

#7


ShowDialog()是模态对话框方式。
当打开的Form2窗体关闭后,才会接着执行ShowDialog()后的语句。
所以不需要判断关闭

#8


你可以把主窗体的Form_Load事件声明为public。
在子窗体关闭的时候。重新LOAD一下主窗体。
如:

frmWorkCheck.frmfbi = new frmFreebackInfo();
frmWorkCheck.frmfbi.label3.Text = count;
frmWorkCheck.frmfbi.frmFreebackInfo_Load(sender,e);
this.Dispose();
this.Close();

#9


引用 5 楼 wangping_li 的回复:
C# code
//你在主窗体调用子窗体事件里面写:
  子窗体f = new 子窗体();
  f.Owner = this;
  f.ShowDialog();
  if (f.DialogResult == DialogResult.OK)
  {
     //子窗体上面点击确定按钮想执行的内容,这里添加内容后可以重新绑定,如果datagridview是bingsource绑定的话,直接把数据源给bingsource即可
  }

//在子窗体窗体加载事件里面写:
确定按钮.DialogResult = DialogResult.OK;
取消按钮.DialogResult =…


这个方法试过了  能用   解决问题  谢谢

#10


引用 5 楼 wangping_li 的回复:
C# code//你在主窗体调用子窗体事件里面写:  子窗体f=new 子窗体();
  f.Owner=this;
  f.ShowDialog();if (f.DialogResult== DialogResult.OK)
  {//子窗体上面点击确定按钮想执行的内容,这里添加内容后可以重新绑定,如果datagridview是bingsource绑定的话,直接把数据源给bingsource即可¡­

很好,解决问题

#11


很好

#12


C# code//你在主窗体调用子窗体事件里面写: 子窗体f=new 子窗体();
f.Owner=this;
f.ShowDialog();if (f.DialogResult== DialogResult.OK)
{//子窗体上面点击确定按钮想执行的内容,这里添加内容后可以重新绑定,如果datagridview是bingsource绑定的话,直接把数据源给bingsource即可¡­

#13


在窗体关闭后重新绑定gridview不就行了

#14


真的很有用呀,谢谢了哈