问题描述:子窗体调用主窗体的事件?

palm_119 2008-05-08 03:25:03

问题描述:子窗体调用主窗体的事件?
详细描述:1、有一个IsMdiContainer属性为True的窗体FrmMain,在此窗体放置4个按钮分别为:Add、Edit、Delete、Save。
写了个方法来控制4个按钮的状态,代码如下:

public void ActiveBtn(int intAdd, int intEdit,int intDel, int intSave)
{

if (intAdd == 1)
{
btnl_Add.Enabled = true;
}
else
{
btnl_Add.Enabled = false;
}
if (intEdit == 1)
{
btnl_edt.Enabled = true;
}
else
{
btnl_edt.Enabled = false;
}

if (intDel == 1)
{
btnl_dele.Enabled = true;
}
else
{
btnl_dele.Enabled = false;
}

if (intSave == 1)
{
btnl_sav.Enabled = true;
}
else
{
btnl_sav.Enabled = false;
}
}

2、有一个IsMdiContainer属性为false的窗体FrmBase,在此窗体放置一个按钮,鼠标点击事件来调FrmMain.ActiveBtn 事件来控制4个按钮状态,为何没有起到作用,跟踪时倒是没有错误。
按钮调用事件如下:
FrmMain FrmMain1 = new FrmMain();
FrmMain1.ActiveBtn(0, 0, 0, 0);


郁闷了一下午了,不知道是那里出错了,请教高手给指出错误,谢谢了。在线等待回答。
...全文
58 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
willyer 2008-05-08
  • 打赏
  • 举报
回复
FrmMain FrmMain1 = new FrmMain();
这个你构造的对象 并不是你看到的窗体

可以通过子窗体来获得父窗体的引用后在调用
或者你把的方法写成 static 的
FrmMain1.你的事件
palm_119 2008-05-08
  • 打赏
  • 举报
回复
谢谢了!刚学习C#不久
c863123 2008-05-08
  • 打赏
  • 举报
回复
FrmMain FrmMain1 = new FrmMain();
FrmMain1.ActiveBtn(0, 0, 0, 0);
重新实例了,当然就没用了。。。 ((FrmMain)this.MdiParent).你的事件

110,535

社区成员

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

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

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