一種特殊的Form/表單/視窗之間切換的教學範例  

visual c++就是不像c#或是java那樣很有物件導向的感覺... 雖然c++有物件導向,可是用起來總是綁手綁腳的,尤其是執行在CLR上頭兒的visual c++規則更多

我不太能突然間向JAVA那樣NEW一個匿名類別就可以執行一個新視窗(Windows Form),像我這樣做gcnew MyForm(); 就會出現錯誤error C2061,或許是我做錯了,可是真的比C#還有JAVA難用是事實吧?

我假如有幾十個視窗需要切換,我也不能用最簡單的Hide()方法去帶過,因為有點佔資源,也不能掌握程式執行的流程。

假如你需要一種類似單視窗不斷的切換form的方法,你就可以試試看我的範例

我都在main主含式include所有的form避免找不到或是多重include

然後全域變數本來只是想可以直接存取(大家都是這麼認為的吧?),可是偏偏我直接存取又會出現error C2065,WTF...

所以讓人又愛又恨的指標又派上用場了...

 

#include "MyForm1.h"
#include "MyForm2.h"
#include "MyForm3.h"

using namespace System;
using namespace Project1;

namespace Project1 {

	static int form=1;
	static int* pform=&form;

	int main(array<System::String ^> ^args)
	{
		Application::EnableVisualStyles();
		Application::SetCompatibleTextRenderingDefault(false); 

		while(form!=0)
		{
			switch (form)
			{
			case 1:
				Application::Run(gcnew MyForm1(pform));
				break;
			case 2:
				Application::Run(gcnew MyForm2(pform));
				break;
			case 3:
				Application::Run(gcnew MyForm3(pform));
				break;
			default:
				break;
			}
		}
		return 0;
	}
}

軟體檔案下載完整範例下載

文章標籤
創作者介紹

宇若彎彎

周宇若 發表在 痞客邦 PIXNET 留言(0) 人氣()