又谈c#winfrom程序窗体互动问题。

shuguangleo 2009-12-14 06:12:59
c#编写的c#winfrom程序父窗体和子窗体交互问题。

简单的传递参数,我一般使用静态变量,或委托实现。现在我要在弹出的子窗体中更改数据库表的内容(比如修改和新增),当保存成功和,父窗体的dataGridView会自动刷新。而且子窗体不关闭,可以连续新增。

我的想法是把父窗体的dataGridView当成参数,在子窗体构造时传递给子窗体。但是具体代码不太会写,大家帮帮忙,看代码怎么实现。

另外有没有其他更简单的方法!

最好有代码,这样看的更清楚。
...全文
164 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
wj_1314angel 2009-12-20
  • 打赏
  • 举报
回复
顶 你说得很好
zexin1000 2009-12-19
  • 打赏
  • 举报
回复
这个应该和你说的差不多吧。他是toolstripMenuItem。

quote:
关于Form2调用Form1控件的终级解决方案。
http://hi.baidu.com/zsq1001/blog/item/59d9c7b7300329f730add164.html
ztenv 2009-12-19
  • 打赏
  • 举报
回复
看看事件吧,不可能在这里给你讲得很清楚的,
shuguangleo 2009-12-19
  • 打赏
  • 举报
回复
我想把此类问题都总结出来,去百家之长。哈哈
shuguangleo 2009-12-19
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 dragonforfly 的回复:]
用事件通知不是很简单吗。
[/Quote]

请问,代码怎么写?
Alden 2009-12-14
  • 打赏
  • 举报
回复
用事件通知不是很简单吗。
ginni215 2009-12-14
  • 打赏
  • 举报
回复
那不如把bindingSource传过去,在子窗体的任何修改,都可以影响到父窗体~
qqiuzaihui 2009-12-14
  • 打赏
  • 举报
回复
使用委托:
// 主窗体中
FromB frm = new FromB();
frm.onReportProgress = new DoReportProgress(OnReportProgress);
frm.ShowDialog(); // 显示窗体

private void OnReportProgress()
{
// 更新DataGridView
}

// 子窗体
public delegate void DoReportProgress(int current, string strInfor);
public DoReportProgress onReportProgress;
public void button1()
{
if(onReportProgress()!=null)
onReportProgress(); // 调用委托更新父窗体
}

ztenv 2009-12-14
  • 打赏
  • 举报
回复
用事件来完成你的需求吧,事件就是干这个的,
tianliang1 2009-12-14
  • 打赏
  • 举报
回复
占沙发。。。

110,499

社区成员

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

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

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