我發現了下面的代碼,它將循環顯示我的項目中所有已關閉的窗體,並打開一個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);
}
}
錯誤:錯誤'System.Activator'不包含'Create'的定義 – fraXis 2013-03-25 19:19:35
@fraXis,我知道我剛剛解決了這個問題,對不起。 – 2013-03-25 19:21:33
我將它更改爲Activator.CreateInstance,除了form.ShowDialog()現在獲取此錯誤外沒有錯誤:錯誤'object'不包含'ShowDialog'的定義,也沒有擴展方法'ShowDialog'接受可以找到類型'object'的第一個參數(你是否缺少使用指令或程序集引用?) – fraXis 2013-03-25 19:21:34