首先要弄清楚對象和執行個體的關系,比如你建立了一個窗體類Form1,這隻是一個類,它是一個對象,但它在沒有執行個體化之前,在記憶體中是不存在的,也就是說類Form1表示我是一個窗體圖紙,但還沒有實際生産出來
使用Form1 frm = new Form1()以後,建立了一個實際存在的窗體frm,也就是建立了Form1類的一個執行個體frm,這個時候frm.Show()就可以顯示出你建立的那個Form1窗體類的執行個體frm,執行個體frm窗體的樣子就是Form1類的窗體的樣子,因為frm是Form1的執行個體。
這時如果你又建立了另一個窗體類Form2,使用Form2 frm2 = new Form2(),這樣建立的窗體執行個體frm2就是窗體類Form2的執行個體,frm2.Show()顯示出來的樣子就是Form2窗體類的那個樣子,因為frm2是Form2窗體類的執行個體。
與VB的差別
之前使用VB做過課設,再用VS中的C#可視化時就很困惑,一直出bug不知道該怎麼用,這是因為兩個工具中的建立窗體的含義不同,VB中點選建立一個窗體,建立的這個窗體就是一個執行個體,寫代碼不需要寫new語句,隻需要調用這個窗體的show方法就可以顯示新建立的這個窗體執行個體(比如vb中點選建立了一個窗體frm,代碼中隻需要寫frm.show();即可顯示該窗體,窗體frm就是一個執行個體);而VS中C#的.net項目裡點選建立一個窗體,建立的這個窗體是一個類,一個對象,不是一個執行個體,在代碼裡需要寫new語句才是在你這個程式裡建立了一個這個類的窗體執行個體,然後使用show方法可以顯示出這個窗體執行個體,需要注意一切操作都是對這個執行個體進行操作,調用的方法都是這個執行個體的方法。