其他分享
首页 > 其他分享> > CodeGo.net>如何检查该窗体是否有任何ShowDialog()窗体打开?

CodeGo.net>如何检查该窗体是否有任何ShowDialog()窗体打开?

作者:互联网

我有一个MainForm表单,其中包含从另一个线程访问的几个属性/方法.

在某些时候,我可能会使用ShowDialog()打开一个窗体AuxForm,然后在打开该模式窗体的同时,另一个线程仍会修改MainForm的属性.
这都是需要的.

在从另一个线程访问的方法之一中,我需要执行一些代码,但前提是必须打开模式AuxForm.有什么方法(通过使用.NET WF表单属性)检查此问题,还是需要使用标志变量?

注意:这些属性/方法都不能修改控件(因此不需要Invoke).

解决方法:

好吧,标记可能是最好的主意.但是只是为了传递一些无用的信息,当窗口显示模式对话框时,会将Window Styles修改为包括WS_DISABLED,基本上该窗口是禁用的,因此您可以检查该窗口是否被禁用.

标签:multithreading,showdialog,c,winforms
来源: https://codeday.me/bug/20191106/1999826.html