在我的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