c#的winform中,子窗口执行添加,想返回的时候,刷父窗口,怎么实现呢?

ivanlw 2010-12-15 11:06:15
如题~
...全文
235 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ivanlw 2010-12-20
  • 打赏
  • 举报
回复
还没有看委托和事件的东西……等过后有时间回头过来看吧~
ivanlw 2010-12-20
  • 打赏
  • 举报
回复
感谢六楼,之前我遇到的一个父窗口向子窗口传参的方法,就是你描述的那样子解决的……现在我对自己提出的这个问题想到了一个更好的方法,就是设置active事件,从子窗口返回的时候,就会触发active事件,在这个时间当中刷新一下控件所绑定的数据源就好了……这样子就不用为每个字窗口返回写刷新,系统会自动识别,自动刷新~
geniusatm4 2010-12-15
  • 打赏
  • 举报
回复
定制一个委托或事件,子窗口添加数据后触发下。

网上查下委托怎么用吧。
Jashui 2010-12-15
  • 打赏
  • 举报
回复
把数据重新绑定下就OK了
ajq1989 2010-12-15
  • 打赏
  • 举报
回复
委托。

刷新父窗体控件绑定数据方法。
dafei198607 2010-12-15
  • 打赏
  • 举报
回复
是给什么控件刷新,在弹完后重新绑定一下行了
dafei198607 2010-12-15
  • 打赏
  • 举报
回复

frmChooseBoxes fcb = new frmChooseBoxes(2, txtBoxNums.Text);
fcb.ShowDialog();
txtBoxNums.Text = frmChooseBoxes.BoxNums;

frmChooseBoxes 是子窗体名。txtBoxNums是主窗体的控件,直接执行就行了,你是想刷新什么
daizhen 2010-12-15
  • 打赏
  • 举报
回复
6楼正解
全栈深入 2010-12-15
  • 打赏
  • 举报
回复
简单一点的在子窗体中设一个全局变量或者公共属性,来保存在子窗体中变化了的值

父窗体调用子窗体的时候一般是通过这样的方式来调用的

父窗体:

private void Show()
{
frmChildForm child = new frmChildForm();//子窗体类名
if(child.ShowDialog() == DiologResult.OK) //这句主要用来判断是否是一个成功的操作
{
//父窗体中某控件的值 = 子窗体中设置的全局变量或者属性的值
textBox1.Text = child.NewValue;
}
}


子窗体中:

public string NewValue { get ;set;}

private void Save()
{
//改变NewValue的值
NewValue = "You have done!";
this.DialogResult = System.Windows.Forms.DialogResult.OK;
}

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧