MDI下,如何避免MDIChild重复显示? ( 积分: 100 )

  • 主题发起人 主题发起人 francais
  • 开始时间 开始时间
F

francais

Unregistered / Unconfirmed
GUEST, unregistred user!
我希望实现这么一个效果:
Form1为MDIForm,Form2为MDIChild。
在MDI窗口下,点击菜单下一个按钮,希望:如果Form2如果没有打开,则打开;如果Form2已经打开,就不要再打开新的Form,而是把已经打开的Form2显示到最前面。
如何实现啊?谢谢
 
我希望实现这么一个效果:
Form1为MDIForm,Form2为MDIChild。
在MDI窗口下,点击菜单下一个按钮,希望:如果Form2如果没有打开,则打开;如果Form2已经打开,就不要再打开新的Form,而是把已经打开的Form2显示到最前面。
如何实现啊?谢谢
 
if not assigned(Form2)
Form2:= TForm2.Create()
Form2.show()
 
你可以通过查询当前打开的所有窗口,判断它与当前要开打开的窗口是不是同一个类,如果相同就是已经打的窗口,你就只要把它show一下就可以了。
Screen.Forms.ClassType=要打开的窗口类,如果所有的窗口都匹配完了,也没找到,就要创建这个窗口。
 
用这种方法:if not assigned(Form2)。
当Form2打开又关闭了,就不会再打开了。
它只是判断Form2的值是否为空。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部