MDIForm内有一个Picture控件,现在要求打开任何一个子窗体,MDIForm内的Picture控件Visable=False,当所有的子窗体关闭时,MDIForm内的Picture控件Visable=True

解决方案 »

  1.   

    在Form_Active事件中让Picture.Visable=false;
    在Form_Unload事件中让Picture.Visable=true;这样,如果关闭一个子窗体,另一个子窗体就激活,Picture就显示再隐藏。
      

  2.   

    可能我未说明白
    只要父窗体中有任何一个子窗体存在(Show出来了),当然也可以同时存在(Show出来了)多个!那么MDIForm内的Picture控件Visable=False,当所有的子窗体关闭时(Unload),MDIForm内的Picture控件Visable=True!!
      

  3.   

    我没说清楚,From_Active和Form_Unload事件都是在每个子窗体里面写的。
    子窗体卸载的时候,显示主窗体背景;子窗体激活的时候,隐藏主窗体背景。程序逻辑是这样的:
    一开始,没有子窗体打开,显示主窗体背景;
    1、打开一个子窗体,执行Form_Load和Form_Active,隐藏主窗体背景;关闭这个子窗体,执行Form_Unlaod,显示主窗体背景;(这行说明只有一个子窗体打开和关闭时的情况)
    2、打开一个子窗体a,执行Form_Load和Form_Acitve,隐藏主窗体背景;再打开一个子窗体b,执行Form_Load和Form_Active,继续隐藏主窗体背景;关闭一个子窗体b,执行Form_Unload,显示主窗体背景,但是,另一个子窗体a的Form_Active也会紧跟着执行,又隐藏了主窗体背景;直到最后一个子窗体关闭,执行Form_Unload,显示主窗体背景,但是没有其他子窗体Form_Active,主窗体背景不会再被隐藏。
    这样就完成了你的需求。