簡體   English   中英

如何檢查表單是否有任何ShowDialog()表單打開?

[英]How to check whether the form has any ShowDialog() forms open?

我有一個表單MainForm,其中有幾個屬性/方法可以從另一個線程訪問。

在某些時候,我可能會使用ShowDialog()打開一個表單AuxForm,然后當該模態表單打開時,另一個線程仍然會修改MainForm的屬性。 這都是期望的。

在從另一個線程訪問的其中一個方法中,我需要執行一些代碼,但僅當模態AuxForm未打開時。 有沒有辦法檢查這個(通過使用.NET WF表單屬性)或我需要使用標志變量?

注意:這些屬性/方法都不會修改控件(因此不需要Invoke)。

那么一面旗幟可能是最好的主意。 但是,為了傳遞一些無用的信息,當窗口顯示模式對話框時, 窗口樣式被修改為包含WS_DISABLED,基本上窗口被禁用,因此您可以檢查窗口是否被禁用。

也許可以幫助...一旦你擁有應用程序的所有打開的窗口,你可以搜索集合中的目標窗口。 您可以通過檢查表單的模屬性來判斷表單是否為模

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM