1. 程式人生 > >winform實現Session功能(儲存使用者資訊)

winform實現Session功能(儲存使用者資訊)

問題描述:在winform中想實現像BS中類似Session的功能,放上需要的資訊,在程式中都可以訪問到。

解決方案:由於自己很長時間沒有做過winform的程式,一時間竟然手足無措起來。後來發現winform實現起來也十分簡單。

一、在窗體Form1中建立static 使用者類

 1         /// <summary>
 2         /// 當前登入使用者資訊
 3         /// </summary>
 4         public static class CurrentUser
 5         {
 6             /// <summary>
7 /// 使用者名稱 8 /// </summary> 9 public static string userName { get; set; } 10 11 12 /// <summary> 13 /// 登入時間 14 /// </summary> 15 public static DateTime LoginTime { get; set; } 16 17 }

       在page_load中為它賦值

1         private void Form1_Load(object sender, EventArgs e)
2         {
3             CurrentUser.userName = "test";
4             CurrentUser.LoginTime = DateTime.Now;
5         }

  在點選事件中開啟新窗體

1         private void button1_Click(object sender, EventArgs e)
2         {
3             int
x = this.Location.X; 4 int y = this.Location.Y; 5 this.Hide(); 6 Form2 secondForm = new Form2(); 7 secondForm.Location = new Point(x, y); 8 secondForm.Show(); 9 }

  效果如圖:

 

二、在form2窗體中直接訪問靜態類的數值即可

1         private void Form2_Load(object sender, EventArgs e)
2         {
3             this.txtUserName.Text = Form1.CurrentUser.userName;
4             this.txtLoginTime.Text = Form1.CurrentUser.LoginTime.ToString("yyyy-MM-dd HH:mm:ss");
5         }

  效果:

寫在後面的話:其實現在想想,winform並不需要session,因為我的理解中session是儲存使用者和伺服器之間的會話資訊,尤其是多使用者訪問網站時,尤顯得重要。但是winform程式類似於單機軟體,相當於一個使用者對winform程式,也不知道這樣理解對不對。對於winform的開發理解得太淺了,有時候會經常把web開發的思路帶到winform中,發現其實兩者還是有很大差別的。繼續要努力學習呢~