Form.ShowDialog()不显示启用调试的窗口
我在unit testing项目中创建了一个测试,我希望在其中使用ShowDialog()
函数弹出一个Form :
[TestMethod] public void TestDialog() { // This class inherits from Form TestForm serviceTestForm = new TestForm("My test form"); serviceTestForm.ShowDialog(); return; }
我希望这个测试能够达到ShowDialog()
,并且无限期地运行,直到我关闭窗口。 但是,当我“使用调试”运行此测试时,测试到达ShowDialog()
,并且不显示任何表单。 奇怪的是,如果我运行“没有调试”,这个完全相同的测试工作 。
我需要能够“通过调试”运行测试并显示窗口。
其他说明:
尽管我试图避免构建使用System.Windows.Forms
unit testing,但我遇到了一个奇怪的情况,我也需要它,并通过处理Load
事件并明确设置Visible = true
来解决它。 当从测试方法调用ShowDialog时,这会强制表单可见。
private void form1_Load(object sender, EventArgs e) { // To support calling ShowDialog from test method... this.Visible = true; ... }
或者,只需从测试方法中观察表单实例,然后在那里执行相同的操作。 至少这可以进一步缓解这个问题,因为它可以防止黑客攻击表单的代码。
上述就是C#学习教程:Form.ShowDialog()不显示启用调试的窗口分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
var frm = new Form1(); frm.Load += (sender, e) => (sender as Form1).Visible = true; frm.ShowDialog();
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1004313.html