跪求大神,2个子窗体之间的互相刷新问题!

写代码的老胖子 2012-09-20 04:22:56
一个父窗体AB;这个父窗体中我用了2个Panel,P1和P2,然后P1和P2在父窗体AB加载的时候分别调用了2个窗体,A和B;B中有一个datagridview,现在要实现的是当B中datagridview的单元格点击事件触发的时候,A中的数据刷新!
...全文
217 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
弄好了!结贴,方法不完美,有时间大家在继续研究吧!
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 的回复:]

你把这句话设置成全局的 模糊查询窗体 aa = new 模糊查询窗体();
点击B中的datagridview 的时候,调用aa中刷新的方法




有点我不明白?
你为什么要搞2个窗体显示在panel里面,,直接在panel里面放相应的控件显示不就可以了
[/Quote]
哎,我也知道直接放控件要比放窗体容易的多,但是。。。。。哎!
熙风 2012-09-20
  • 打赏
  • 举报
回复
你把这句话设置成全局的 模糊查询窗体 aa = new 模糊查询窗体();
点击B中的datagridview 的时候,调用aa中刷新的方法




有点我不明白?
你为什么要搞2个窗体显示在panel里面,,直接在panel里面放相应的控件显示不就可以了

  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]

C# code

pel_doc.Controls.Clear();

模糊查询窗体 aa = new 模糊查询窗体();
aa.TopLevel = false;
aa.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
pel_doc.Controls.Add(aa);
aa.Dock = DockS……
[/Quote]
好吧大哥,可能我没说明白,如果这段代码是放在父窗体下的,OK没问题!但是我现在用的是父FormAB下的panelP2下的FormB下的datagridview的cellClick事件点击控制,当点击datagridview中的一条记录时,会得到一个电话号,然后根据这个电话号我要刷新父窗体AB下的PanelP1下的FormA里的数据!
熙风 2012-09-20
  • 打赏
  • 举报
回复
  
pel_doc.Controls.Clear();

模糊查询窗体 aa = new 模糊查询窗体();
aa.TopLevel = false;
aa.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
pel_doc.Controls.Add(aa);
aa.Dock = DockStyle.Fill;
aa.Show();
熙风 2012-09-20
  • 打赏
  • 举报
回复
FRM_AllCheck allcheck = new FRM_AllCheck();
allcheck.pel_doc.Controls.Clear();
模糊查询窗体 aa = new 模糊查询窗体();
aa.TopLevel = false;
aa.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
allcheck.pel_doc.Controls.Add(aa);
aa.Dock = DockStyle.Fill;
aa.Show();

你new FRM_AllCheck 这个窗体干什么?

直接pel_doc.Controls.Clear();
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

引用 6 楼 的回复:

引用 5 楼 的回复:

最简单的方法,,将P1中的A窗体移除掉,,重新添加。。。

怎么移除,clear方法我也试过了,刷新方法我也试过了!都不行,写个例子吧,跪谢!


C# code
panel1.Controls.Clear();
[/Quote]
FRM_AllCheck allcheck = new FRM_AllCheck();
allcheck.pel_doc.Controls.Clear();
模糊查询窗体 aa = new 模糊查询窗体();
aa.TopLevel = false;
aa.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
allcheck.pel_doc.Controls.Add(aa);
aa.Dock = DockStyle.Fill;
aa.Show();
大哥 我都试过了,都没有效果!
熙风 2012-09-20
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

引用 5 楼 的回复:

最简单的方法,,将P1中的A窗体移除掉,,重新添加。。。

怎么移除,clear方法我也试过了,刷新方法我也试过了!都不行,写个例子吧,跪谢!
[/Quote]

panel1.Controls.Clear();
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

最简单的方法,,将P1中的A窗体移除掉,,重新添加。。。
[/Quote]
怎么移除,clear方法我也试过了,刷新方法我也试过了!都不行,写个例子吧,跪谢!
熙风 2012-09-20
  • 打赏
  • 举报
回复
最简单的方法,,将P1中的A窗体移除掉,,重新添加。。。
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

用委托
[/Quote]
能详细说说么
山东蓝鸟贵薪 2012-09-20
  • 打赏
  • 举报
回复
顶顶帖子
帮挣点人气的 
garfieldzf 2012-09-20
  • 打赏
  • 举报
回复
用委托
  • 打赏
  • 举报
回复
顶下别沉!

110,533

社区成员

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

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

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