我想实现这样的功能,当关闭此窗体,就执行令一个已经打开的窗体的刷新功能,我写的代码如下:
public void net_xjcjbm_skjsxx_FormClosed(object sender, FormClosedEventArgs e)
{
try
{
net_xjcjbm_gbskxxlr.net_xjcjbm_gbskxxlr1.dataGridViewX3.DataSource = skxxlr.gbskxxlr(jgmc1, nj1, xq1, xq2);
net_xjcjbm_gbskxxlr.net_xjcjbm_gbskxxlr1.dataGridViewX3.DataMember = "kmb";
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString(), "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
上面的net_xjcjbm_gbskxxlr是令外一个已经打开了的窗体,我已经将它设为静态公共的public static net_xjcjbm_gbskxxlr net_xjcjbm_gbskxxlr1;
public net_xjcjbm_gbskxxlr()
{
InitializeComponent();
net_xjcjbm_gbskxxlr1 = this;
}但是,就是实现不了这刷新的功能。
帮帮我吧,各位高手们!
谢谢啦!
public void net_xjcjbm_skjsxx_FormClosed(object sender, FormClosedEventArgs e)
{
try
{
net_xjcjbm_gbskxxlr.net_xjcjbm_gbskxxlr1.dataGridViewX3.DataSource = skxxlr.gbskxxlr(jgmc1, nj1, xq1, xq2);
net_xjcjbm_gbskxxlr.net_xjcjbm_gbskxxlr1.dataGridViewX3.DataMember = "kmb";
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString(), "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
上面的net_xjcjbm_gbskxxlr是令外一个已经打开了的窗体,我已经将它设为静态公共的public static net_xjcjbm_gbskxxlr net_xjcjbm_gbskxxlr1;
public net_xjcjbm_gbskxxlr()
{
InitializeComponent();
net_xjcjbm_gbskxxlr1 = this;
}但是,就是实现不了这刷新的功能。
帮帮我吧,各位高手们!
谢谢啦!
估计楼主问的还是窗体间传值的问题。
给你个例子参考
http://topic.csdn.net/u/20081013/16/fdd817bd-3ede-494f-b8b0-9ed423b02839.html
写在net_xjcjbm_gbskxxlr1.ShowDialog()后面不行吗?
ChildFrm : net_xjcjbm_skjsxx
MainFrm : net_xjcjbm_gbskxxlr
1、在 ChildFrm 中定义一个事件,
public delegate void RefreshEventHandle();
public event RefreshEventHandle OnRefreshEvent;2、在 MainFrm 中确定刷新的事件处理函数;
// 显示ChildFrm之前,加上如下代码
ChildFrm.OnRefreshEvent += new RefreshEventHandle(this.RefreshData);3、在 MainFrm 中添加回调函数:
private void RefreshData()
{
// 关闭 ChildFrm 时,想做的任何事情
}3、在 ChildFrm 中的 ChildFrm_FormClosed 事件(即:public void net_xjcjbm_skjsxx_FormClosed(object sender, FormClosedEventArgs e) )中加入如下代码:
if (null != OnRefreshEvent)
{
this.OnRefreshEvent();
}
总结一下吧: 利用事件和委托完成,比较简单。
可以看看这个帖子。
http://topic.csdn.net/u/20080926/09/446af9ff-11e1-4965-aa54-e30b168391bb.html