我正在编写一个小类来驱动 win 表单应用程序的集成测试。测试驱动程序类可以访问主窗体并通过名称查找需要使用的控件,并使用它来驱动测试。为了找到控件,我正在遍历 Control.Controls 树。但是,当我想要访问对话框窗口(显示为对话框的自定义表单)中的控件时,我遇到了困难。我怎样才能抓住它?
您可以使用静态来获取对当前活动表单的引用Form.ActiveForm http://msdn.microsoft.com/en-us/library/system.windows.forms.form.activeform.aspx财产。
编辑:如果没有Form
有焦点,Form.ActiveForm
将返回null
.
解决这个问题的一种方法是使用Application.OpenForms
收集并检索last物品,女巫将是主动的Form
当它显示时使用ShowDialog
:
// using Linq:
var lastOpenedForm = Application.OpenForms.Cast<Form>().Last()
// or (without Linq):
var lastOpenedForm = Application.OpenForms[Application.OpenForms.Count - 1]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)