WinForm一个窗体如何调用另一个窗体的事件

tangi 2005-08-07 12:37:03
在a窗体的button按下去的时候,调用b窗体上的方法刷新b窗体上的DataGird,给个思路,谢谢
...全文
1630 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
tangi 2005-08-07
  • 打赏
  • 举报
回复
tangi 2005-08-07
  • 打赏
  • 举报
回复
谢谢。。已经搞定

方法比较简单。把代码贴出来方便和我一样的菜鸟们。呵呵

在父窗口中

首先实例化子窗口
//父窗口.cs
game frm=new game();
//这里可以将参数传入子窗口
frm.idstr=m_Table.Rows[this.gamegird.CurrentRowIndex][0].ToString();

//这里很关键我认为
frm.lform=this;
frm.Show();

//子窗口.cs
记得要在子窗口中
public string idstr;
另外在子窗口中public一个父窗口对象
public mainform lform;

在子窗口的事件中现在可以调用父窗口的事件了

this.lform.g_list_show(0,"");

g_list_show是我父窗口中重建DataGird的方法

我验证刷新成功。
winehero 2005-08-07
  • 打赏
  • 举报
回复
或将刷新b窗体上的DataGird的方法添加到a窗体的button点击Event的委托中。
syfsz 2005-08-07
  • 打赏
  • 举报
回复
在b窗体写一个公有的方法,把b传给a,在a里直接调用这个方法就可以了。

比如:

public class a
{
private b _frmb=null;

public a(b poB)
{
_frmb=poB//或者建一个属性传进来;
}

private btn_Click(sender,e)
{
if (_frmb!=null)
_frmb.ExeAction();
}
}

public class b
{
public void ExeAction()
{
//codes;
}
}

110,538

社区成员

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

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

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