WindowsMobile(Winform)開發中的資料存放區(解決在不同的Form中要調用對方的方法或者使用對方的資料問題)

來源:互聯網
上載者:User

WindowsMobile(Winform)開發中可能會遇到以下幾個問題:

1、在不同的Form中要調用對方的方法或者使用對方的資料,而不知道如何調用。例如在一個From1中,以Dialog形式彈出另外一個From2,如何在Form2中調用Form1的方法和使用Form1的資料呢?

2、對於CS開發模式,載入伺服器的資料需要一定的時間,特別是有的資料在不同的Form中都會使用到,次次都要載入,導致效率降低。

3、對於第一個Form,是不能退出的,要顯示第二個From的時候,只能把第一個Form hidden掉。但是下次如何把hidden掉的Form調出來呢?例如,假如登入的Form是第一個Form,登出的時候,如何才能把登入的Form顯示出來呢?

為此對於解決以上三個問題,提出了定義全域變數的方法。用全域變數儲存重複使用的資料,當然也包括From的儲存。其實總的來說,要解決以上問題,就是要解決如何管理資料和共用資源的問題。

以下就是在第一個Form中定義的全域靜態變數

 1         #region 全域變數 放在登陸頁面統一管理 2         //說明:這個介面是其他介面的依託,如果這個介面close了,整個程式都會推出,所以切換介面的時候 3         //不能close,要hiden。其他頁面返回這個頁面的時候不可重新new一個對象,因為已經存在了,不然會重複出現,因此要定義一個全域變數,供在其他頁面返回登入頁面的時候用 4         static public 登陸介面 login;             //全域程式管理 5         //護士基本資料 供全域調用 6         public static nurse.NurseService.NurseInfo nurseinfo;   //全域護士資訊 7         //當前操作病人 8         public static nurse.NurseService.Patient grobalPatient;   //全域病人變數,點擊病人時擷取 9         public static nurse.NurseService.ExecutiveOrder[] orders; //全域分類執行單。某病人的分類執行單10         public static nurse.NurseService.Patient[] grobalPatients;  //全域病人列表11         12         #endregion

在建構函式或者From在loaded後把From的引用儲存:

1         public 登陸介面()2         {3             InitializeComponent();4             login = this;     //將這個From的引用儲存,供其他視窗調用5         }

在登出的時候,要把之前hidden了的第一個視窗,只需要重新Show出來即可。

 1         /// <summary> 2         /// 取消 3         /// </summary> 4         /// <param name="sender"></param> 5         /// <param name="e"></param> 6         private void button2_Click(object sender, EventArgs e) 7         { 8             登陸介面.login.Show();  //重新顯示登入視窗 9             this.Close();10         }

總的來說,用以上方法,即可以解決不同From中調用對方的方法問題又可以把經常用到的要從伺服器載入的資料儲存到靜態變數中,供多次使用,避免多次從伺服器載入,從而提高效率。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.