问题描述:在winform中想实现像BS中类似Session的功能,放上需要的信息,在程序中都可以访问到。

解决方案:由于自己很长时间没有做过winform的程序,一时间竟然手足无措起来。后来发现winform实现起来也十分简单。

一、在窗体Form1中创建static 用户类

         /// <summary>
/// 当前登录用户信息
/// </summary>
public static class CurrentUser
{
/// <summary>
/// 用户名
/// </summary>
public static string userName { get; set; } /// <summary>
/// 登录时间
/// </summary>
public static DateTime LoginTime { get; set; } }

在page_load中为它赋值

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

在点击事件中打开新窗体

         private void button1_Click(object sender, EventArgs e)
{
int x = this.Location.X;
int y = this.Location.Y;
this.Hide();
Form2 secondForm = new Form2();
secondForm.Location = new Point(x, y);
secondForm.Show();
}

效果如图:

二、在form2窗体中直接访问静态类的数值即可

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

效果:

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

winform实现Session功能(保存用户信息)的更多相关文章

  1. session 实现保存用户信息

    index.jsp <body> <div style="margin: 0 auto; width: 500px; text-align: center;"&g ...

  2. php使用session来保存用户登录信息

    php使用session来保存用户登录信息 使用session保存页面登录信息 1.数据库连接配置页面:connectvars.php <?php //数据库的位置 define('DB_HOS ...

  3. django使用session来保存用户登录状态

    先建好登录用的model,其次理解使用cookie和session的原理,一个在本机保存,一个在服务器保存 使用session好处,可以设置登录过期的时间, 编写views中login的函数 def ...

  4. 获得session中的用户信息

    由于每个系统都有往session中放入用户信息以及把用户信息取出来的模块,而且在session中取出用户信息的地方非常之多,所以有必要把session中对用户的操作封装成为一个工具类,以便在以后的使用 ...

  5. Asp.NET MVC 使用 SignalR 实现推送功能二(Hubs 在线聊天室 获取保存用户信息)

    简单介绍 关于SignalR的简单实用 请参考 Asp.NET MVC 使用 SignalR 实现推送功能一(Hubs 在线聊天室) 在上一篇中,我们只是介绍了简单的消息推送,今天我们来修改一下,实现 ...

  6. session保存用户信息

    前台jsp-------------- <%@ page import="com.manager.form.User" %><%User user = reque ...

  7. 10 ~ express ~ 使用 cookie 保存用户 信息

    思维导图: (1) 保存 cookie (2)销毁 cookie 一,保存 cookie 1,app.js  . 新增代码 var Cookies = require('cookies') /** * ...

  8. cas 获取session中的用户信息

    <%Object object =request.getSession().getAttribute("_const_cas_assertion_");Assertion a ...

  9. session中用户信息改变问题

    问题描述: 在web项目中,我们经常将用户登录信息放在session中用来做后续的权限判断等操作,但最近在项目中发现一个奇怪的现象,session中的用户信息和登录时的信息有了差异. 原因: 在后台代 ...

随机推荐

  1. ubuntu安装vbox虚拟机

    ubuntu安装vbox虚拟机 一.安装准备 1.查看主机配置 二.下载安装包    (建议将安装包下载并保存) a.下载virtualbox安装包 下载链接https://www.virtualbo ...

  2. Python 模拟伯努利试验和二项分布

    1.模拟 27 次投掷硬币的伯努利试验 代码: from scipy import stats import numpy as np p = 0.5 # 生成冻结分布函数 bernoulliDist ...

  3. Java期末复习——主观题

    JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境. JRE:Java Runtime Envir ...

  4. vue - 基础(2)

    <div id="content"> {{ msg }} <div v-text="msg"></div> <div ...

  5. 【oracle】ORA-00257 archiver error. Connect internal only, until freed

    [原因]归档日志太多导致磁盘空间过小. [解决办法]删除日志或加大空间

  6. java 8 学习一(概述)

    学习java8的新特性之前,简单看了下从java5开始历代版本的新特性,都是别人总结的. java5.java6.java7.java8的新特性 http://blog.csdn.net/samjus ...

  7. Fish eating fruit 沈阳网络赛(树形dp)

    Fish eating fruit \[ Time Limit: 1000 ms \quad Memory Limit: 262144 kB \] 题意 大体的题意就是给出一棵树,求每一对点之间的距离 ...

  8. Windbg Memory(内存)窗口的使用

    在 WinDbg 中,可以查看和编辑内存,通过输入命令或通过使用内存窗口. 内存窗口的打开 通过菜单View-->Memory 通过快捷键Alt+5 通过工具栏 使用内存窗口 通过上面方式打开的 ...

  9. postgresql plv8 安装

    网上可以看到pg 9.6 版本的plv8容器镜像,没有pg 高版本的支持镜像,但是在基于原有dockerfile 进行构建的时候,居然失败了,有墙的问题,有版本的问题 所以通过虚拟机尝试下构建方式安装 ...

  10. PATB1048数字加密

    关于代码都是可以在PAT上跑通的 自己是在VS2017上写的,所以会有语句system("pause");,表示暂定方便查看结果. *在一个是VS2017中使用scanf会报错,所 ...