问题描述:在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         }

  效果如图:

winform实现Session功能(保存用户信息)

 

二、在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功能(保存用户信息)

写在后面的话:其实现在想想,winform并不需要session,因为我的理解中session是保存用户和服务器之间的会话信息,尤其是多用户访问网站时,尤显得重要。但是winform程序类似于单机软件,相当于一个用户对winform程序,也不知道这样理解对不对。对于winform的开发理解得太浅了,有时候会经常把web开发的思路带到winform中,发现其实两者还是有很大差别的。继续要努力学习呢~

 

相关文章:

  • 2022-02-13
  • 2022-12-23
  • 2022-12-23
  • 2021-07-06
  • 2021-09-26
  • 2022-12-23
猜你喜欢
  • 2021-11-16
  • 2022-12-23
  • 2021-11-15
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案