我有一个使用C#的应用程序,其中我有一个名为parentmdiform
的MdiContainer表单,其中我的所有子表单都已打开。
在此parentmdiform
的子菜单中,名为studentmasterform
的表单会打开。只需点击一下按钮,就会打开一个名为existingstudent表单的新表单。
如果我想再次从studentmasterform
返回Existingstudentform
,只需点击一个studentmasterform
即可打开的按钮。但问题是我之前打开的studentmasterform
父表单不会被集中或处理掉。这意味着我得到两个相同形式的对象,即Studentmasterform,它存在于我的parentmdiform
中。
我想要的是,当我点击我的MDI应用程序中的任何其他表单以访问早期表单时,相同的表单对象应该被集中或处理掉。
谁能告诉我怎么样?
答案 0 :(得分:0)
您需要跟踪studentmasterform
的创建。如果它存在,创建,不创建新的,请执行Keyboard.Focus(oldOne);
P.S。有studentmasterform.Closed
事件可帮助您保持跟踪。
答案 1 :(得分:0)
我希望我明白你想做什么。 首先,如果您希望表单在失去焦点时关闭,请查看Form类的“Deactivate”事件。 [MSDN Deactive Event]:http://msdn.microsoft.com/en-us/library/system.windows.forms.form.deactivate.aspx
如果您只需要打开一个表单,就可以检查“parentmdiform.MdiChildren”以获取MDI From的所有子项。您可以为表单指定一个唯一的名称,因此更容易集中权利。
问候,C#er