2010-04-05 38 views
1

訪問這是我的第一個winform應用程序在.NET ...我已經做了幾個ASP.NET應用程序的...哪裏維護公共信息,這可以通過各種形式的

在這個程序,我有一些共同的變量,如當前的用戶名,他選擇的過程等等..這應該可以在任何時候從應用程序的任何形式訪問...我怎麼能做到這一點...有沒有像「會話「在這裏...

進一步如何編程人員通常將信息從一種形式傳遞給另一個...在這裏,我想傳遞我在第一種形式獲得的信息到後續形式...我使用構造函數重載並將值作爲參數傳遞......我很確定必須有更好的方式來做到這一點...

感謝您的時間...

回答

1

你可能想實現一個Singleton對象

Implementing the Singleton Pattern in C#

這通常是用於線程安全的代碼,但也允許您從多個表單訪問相同的實例,從而允許您使用相同的數據,而無需將對象從表單傳遞到表單。

+0

感謝Astander ...而且它會如何反應,如果我在同一臺機器上運行同一個應用程序的兩個實例...就像運行兩個記事本一樣...這個對象是否會同時出現...如果這是情況下,有無論如何避免這... – 2010-04-05 07:47:01

+0

不,這不會是這種情況,它會創建自己的版本每個進程,所以應該沒問題。 – 2010-04-05 07:49:03

+0

謝謝..只是一個問題...爲什麼我們不能使用靜態類和靜態成員,爲此...我認爲他們不會被共享... – 2010-04-05 07:51:53

1

有很多方法。

  1. 靜態對象 - 這些都是跨應用共享,所以你可以從任何形式或類訪問它們。這並不是很多人建議的,單身類是首選,但我沒有發現這些在winform應用程序中的任何問題。
  2. 公共屬性 - 這些是特定於表單而不是全局的。非常類似於ASP.NET的使用。
  3. 項目設置集合 - 這可以用於存儲在應用程序生命週期中可能不會更改的數據。所有的表單都可以訪問它。
0

我在這種情況下使用單例,檢查這個generic singleton實現。

+0

主題是關於winform應用程序。在Windows應用程序中沒有會話對象。 – 2010-04-05 08:53:09

+0

@Aseem:謝謝指出。 – 2010-04-05 09:08:51

相關問題