MdiForm问题 [英] MdiForm problem

查看:48
本文介绍了MdiForm问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在C#中有3种形式
mdiform中的form1,form1中的一个菜单栏
在form2中是一个按钮.
在form3中是一个标签.
现在,当我加载form1时,我用form1的load事件加载了form2
例如form1和form2会同时加载
我在form1中编写以下单击菜单栏的代码

i have a 3 form in C#
form1 in mdiform,one menubar in form1
in form2 is one button.
in form3 is one label.
now when i load form1 i load form2 with form1''s load event
such as form1 and form2 are load sametime
i write following code of click menubar in form1

<br />
form3 f=new form3();<br />
f.mdiparant=this;<br />
f.show();<br />


当我在运行时单击菜单栏时,我在form1中显示form3

现在我想如果我单击form2中的按钮,我会在form1和form2中显示form3关闭

菜单栏条件是否相同?

那我该怎么办?


when i click menubar at runtime i show form3 in form1

now i want if i click button in form2 i show form3 in form1 and form2 are close

same condition of menubar click?

so what i do you do?

thanks in advance.

推荐答案

在表单之间设置委托,以便他们可以相互发送消息.永远不要使用Show来显示在本地创建的表单,请使用成员变量,以使实例不会丢失给您.
Set up delegates between the forms so they can send each other messages. NEVER use Show to show a form that was created locally, use a member variable so the instance is not lost to you.


本文

http://www.codeproject.com/Tips/55555/Pass- value-between-forms-using-events.aspx [ ^ ]

展示了一个可以满足您的需求的相似原理.

在form2中设置一个事件委托,该事件委托在form1中引发一个事件.

引发事件时,form1关闭form2并打开form3.

祝你好运
This article

http://www.codeproject.com/Tips/55555/Pass-value-between-forms-using-events.aspx[^]

Demonstrates a similar principal that you can adapt to your needs.

Set up an event delegate in form2 that raises an event in form1.

When the event is raised, form1 closes form2 and opens form3.

Good luck


这篇关于MdiForm问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆