在我的WinForms應用程序我使用form.ActiveForm從另一種形式了很多次。這是因爲我不想形式的新實例,但只需要拿形式向前方或以不同的方式設置的組件。然而,我注意到,當我最小化的形式,form.ActiveForm返回一個NullReferenceException。我可以做什麼以便我可以訪問這個最小化的表單?似乎沒有一種方法。有沒有另一種方法來做到這一點?如何從另一種形式訪問最小化形式,而無需創建一個實例?
1
A
回答
1
使用Application.OpenForms找到正確類型的形式:
foreach (var f in Application.OpenForms)
{
if (f is MyForm)
{
// do something...
break;
}
}
1
商店最小化形式在主窗體字段,並獲得這種方式。如果表格被最小化,那麼它不是「活動的」。然而,使用該字段,您仍然可以訪問它。
0
保存到最小化形式的引用。如果你喜歡,你可以用第二種形式創建一個公共屬性存儲:
public MyForm myForm;
然後將其設置:
MyForm frm = new MyForm();
frm.myForm = (first form reference here);
然後第二種形式可以直接參考使用myForm
第一種形式。
+0
是的,這是有道理的。但如果我甚至不必從FRM是myForm的參考?我是否將表單設置爲不同的表單? – Bernice
+0
可能更好的是你有一個名爲FormManager的類,它帶有一個'List
+0
@Bernice:我不確定你的意思是「繼續將表單設置爲不同的形式」。只需將其設置爲表單的實例即可。 (有多少人?)您需要以這種或那種方式存儲參考,我只是建議了一種可以做到的方法。如果不在某處存儲對該表單的引用,則無法訪問現有表單。 –
相關問題
- 1. 以另一種形式訪問同一個類的實例
- 2. 從另一種形式訪問變量
- 3. 從一種形式創建同一型號的多個實例
- 4. 角:創建基於另一種形式的一種新形式
- 5. 從另一種形式調用工具到另一種形式?
- 6. 從另一種形式
- 7. C#從另一種形式
- 8. 從另一種形式
- 9. 從另一種形式
- 10. 從另一種形式
- 11. C#從另一種形式
- 12. 從另一種形式
- 13. 訪問忍者形式的數據以另一種形式
- 14. 如何讓一種形式留在另一種形式上?
- 15. 另一種形式
- 16. 無法傳遞值從一種形式到另 - MS訪問
- 17. 傳遞String與另一個形式從一種形式在C#
- 18. 以一種形式實例化多個類的性能問題
- 19. 從一種形式閱讀bools到另一種形式c#
- 20. 從一種形式到另一種形式的計時器值
- 21. 將信息從一種形式傳遞給另一種形式?
- 22. 使用Alpacajs從一種形式導航到另一種形式
- 23. php htmlspecialchars()從一種形式到另一種形式
- 24. 將參數從一種形式傳遞給另一種形式
- 25. 一種形式的多個CKEditor實例?
- 26. 創建一個從形式
- 27. 創建一個從形式
- 28. 如何從另一種形式
- 29. 如何從另一種形式
- 30. 如何從另一種形式
我發現這是一個更好的解決方案。謝謝 :) – Bernice