一个模式窗体的简单有关问题! 怎样从前到后得到所有模式窗体
一个模式窗体的简单问题! 怎样从前到后得到所有模式窗体?
假如我在主窗体 MainForm 中模式显示了 Form1,又在 Form1 上模式显示了 Form2,又在 Form2 上模式显示了 Form3。
所有窗体都存在了 Forms 数组中。
我可以访问 Forms 数组,我也知道 Form 的个数:FormCount
我们知道根据模式窗体的特性,Form1、Form2、Form3 它们之间的显示顺序,即谁靠前谁靠后,这个顺序是不会变的。
怎样遍历 Forms 数组,从而知道哪个窗体最靠前,哪个窗体其次,哪个窗体再其次?
说明一点,我可以通过 if fsModal in Forms[i].FormState then 来判断这个窗体是否是模式窗体。
------解决方案--------------------
Screen.Forms 是按照 Z order 排序的,就是说,最前面的窗口,是Screen.Forms[0]
假如我在主窗体 MainForm 中模式显示了 Form1,又在 Form1 上模式显示了 Form2,又在 Form2 上模式显示了 Form3。
所有窗体都存在了 Forms 数组中。
我可以访问 Forms 数组,我也知道 Form 的个数:FormCount
我们知道根据模式窗体的特性,Form1、Form2、Form3 它们之间的显示顺序,即谁靠前谁靠后,这个顺序是不会变的。
怎样遍历 Forms 数组,从而知道哪个窗体最靠前,哪个窗体其次,哪个窗体再其次?
说明一点,我可以通过 if fsModal in Forms[i].FormState then 来判断这个窗体是否是模式窗体。
------解决方案--------------------
Screen.Forms 是按照 Z order 排序的,就是说,最前面的窗口,是Screen.Forms[0]