none
請問FORM要如何切換 RRS feed

  • 問題

  •  

    請問,我是使用vs2005為開發PDA程式的平台,我在project中放了兩個form,請問程式碼要如何寫才能切換form?

     

    2008年5月1日 上午 01:20

解答

  • HI,

     

    因為PDA的程式的Form會以全螢幕的方式呈現, 所以Form被關閉之後就會回到前一個Form, 如果需要切換, 建議把不同的Form的內容放在同一個TabControl中, 就可以自由切換了

     

    tihs

    2008年5月1日 上午 06:30
  • MVP提供的方式不失為一個好方法。但當您的Form一多的時候,使用TabControl再依開始Initital Form的時候會花不少的時間。尤其當控制項一多、甚至還要抓取資料庫資料時。

     

    至於Form.Show與Form.Dispose我想並沒有瞭解到樓主發問的意思。這只是基本的顯示方式,並且基本上是不需要自行呼叫Form.Dispose,若需要關掉Form則是呼叫Form.Close or Form.Hide(當然兩者的意義是不同的)

    當A、B兩個Form需要互相切換的時候,用此種Show、Dispose方式到最後會叫出無限多個Form,然後記憶體就不足了

     

    建議樓主可以試著用另外一個類別來控制兩個Form甚至多個Form,操作Form的流程都是透過這個類別來控制。

    回上層、跳下層、回上層再跳下層等等。

     

    至於WM的Form是不是都是全螢幕的,當然不是囉!是可以做到非全螢幕的,只是有點醜(跟用C++做出來的效果相比)

    2008年5月3日 下午 04:55

所有回覆

  • HI,

     

    因為PDA的程式的Form會以全螢幕的方式呈現, 所以Form被關閉之後就會回到前一個Form, 如果需要切換, 建議把不同的Form的內容放在同一個TabControl中, 就可以自由切換了

     

    tihs

    2008年5月1日 上午 06:30
  •  

    使用form.show, form.disopose就可以達到目的了。
    2008年5月1日 下午 02:04
  • MVP提供的方式不失為一個好方法。但當您的Form一多的時候,使用TabControl再依開始Initital Form的時候會花不少的時間。尤其當控制項一多、甚至還要抓取資料庫資料時。

     

    至於Form.Show與Form.Dispose我想並沒有瞭解到樓主發問的意思。這只是基本的顯示方式,並且基本上是不需要自行呼叫Form.Dispose,若需要關掉Form則是呼叫Form.Close or Form.Hide(當然兩者的意義是不同的)

    當A、B兩個Form需要互相切換的時候,用此種Show、Dispose方式到最後會叫出無限多個Form,然後記憶體就不足了

     

    建議樓主可以試著用另外一個類別來控制兩個Form甚至多個Form,操作Form的流程都是透過這個類別來控制。

    回上層、跳下層、回上層再跳下層等等。

     

    至於WM的Form是不是都是全螢幕的,當然不是囉!是可以做到非全螢幕的,只是有點醜(跟用C++做出來的效果相比)

    2008年5月3日 下午 04:55
  • 受教了。

    請問FatJohn兄,您提到【Show、Dispose方式到最後會叫出無限多個Form】

    我的觀念是dispose會把form佔用的資源釋出,不懂為什麼最後會叫出無限多個form

     

    不好意思,我不是學資訊的,可能對於這方面問題的表達不是很清楚,還請學長們多指點

     

    2008年5月3日 下午 05:02
  • 好說~不要叫我兄XD

    就變數的生命週期來說,只要脫離那個Scope的話,變數生命超過這個Scope,自然就會消失,然後.NET裡面是會自動去做Garbage Collection的,沒有必要是不需要自己呼叫Dispose(而且呼叫Dispose也不一定真的有用)

     

    但樓主的問題您可以思考一下,就是A Form叫了B Form,但此時B Form又要呼叫A Form呢?呼叫完A Form結果又要呼叫B Form呢?

     

    用您的方式當然上述的問題仍然是可以避免的,僅是增加一些作法就可以解決這個問題,就程式的判斷上就要多一些東西嚕。

     

    以上

    2008年5月3日 下午 05:08
  • 一種模仿遊戲迴圈的FORM切換方式

    需要用到指標

    可以任意切換到指定的FORM不佔資源

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

    2013年4月12日 上午 10:42