gpt4 book ai didi

c# - 一次打开我项目中所有已关闭的表单

转载 作者:行者123 更新时间:2023-11-30 20:59:06 26 4
gpt4 key购买 nike

我发现以下代码将遍历我项目中所有已关闭的表单并打开一个 MessageBox 并显示表单名称。

但是,我该如何修改它而不是显示 MessageBox;它实际上会一个一个地打开每个封闭的表格吗?我更愿意使用 ShowDialog 或类似的东西,这样每个表单一次只打开 1 个,而不是一次全部打开。如果我关闭一个表单,那么下一个表单就会打开,依此类推。

//http://kellyschronicles.wordpress.com/2011/08/06/show-all-forms-in-a-project-with-c/
System.Reflection.Assembly myAssembly = System.Reflection.Assembly.GetEntryAssembly();
Type[] Types = myAssembly.GetTypes();
foreach (Type myType in Types)
{
if (myType.BaseType == null) continue;

if (myType.BaseType.FullName == "System.Windows.Forms.Form")
{
//Application.Run(myType.Name()); //This does not work
MessageBox.Show(myType.Name);
}

}

最佳答案

试试这个:

var form = (Form)Activator.CreateInstance(myType);
form.ShowDialog();

您可以像这样将它与默认构造函数或带参数的构造函数一起使用,但这有点棘手。
更多信息请参阅:Activator.CreateInstance Method

关于c# - 一次打开我项目中所有已关闭的表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15622828/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com