winform实现Session功能(保存用户信息)
问题描述:在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功能(保存用户信息)的更多相关文章
- session 实现保存用户信息
index.jsp <body> <div style="margin: 0 auto; width: 500px; text-align: center;"&g ...
- php使用session来保存用户登录信息
php使用session来保存用户登录信息 使用session保存页面登录信息 1.数据库连接配置页面:connectvars.php <?php //数据库的位置 define('DB_HOS ...
- django使用session来保存用户登录状态
先建好登录用的model,其次理解使用cookie和session的原理,一个在本机保存,一个在服务器保存 使用session好处,可以设置登录过期的时间, 编写views中login的函数 def ...
- 获得session中的用户信息
由于每个系统都有往session中放入用户信息以及把用户信息取出来的模块,而且在session中取出用户信息的地方非常之多,所以有必要把session中对用户的操作封装成为一个工具类,以便在以后的使用 ...
- Asp.NET MVC 使用 SignalR 实现推送功能二(Hubs 在线聊天室 获取保存用户信息)
简单介绍 关于SignalR的简单实用 请参考 Asp.NET MVC 使用 SignalR 实现推送功能一(Hubs 在线聊天室) 在上一篇中,我们只是介绍了简单的消息推送,今天我们来修改一下,实现 ...
- session保存用户信息
前台jsp-------------- <%@ page import="com.manager.form.User" %><%User user = reque ...
- 10 ~ express ~ 使用 cookie 保存用户 信息
思维导图: (1) 保存 cookie (2)销毁 cookie 一,保存 cookie 1,app.js . 新增代码 var Cookies = require('cookies') /** * ...
- cas 获取session中的用户信息
<%Object object =request.getSession().getAttribute("_const_cas_assertion_");Assertion a ...
- session中用户信息改变问题
问题描述: 在web项目中,我们经常将用户登录信息放在session中用来做后续的权限判断等操作,但最近在项目中发现一个奇怪的现象,session中的用户信息和登录时的信息有了差异. 原因: 在后台代 ...
随机推荐
- ubuntu安装vbox虚拟机
ubuntu安装vbox虚拟机 一.安装准备 1.查看主机配置 二.下载安装包 (建议将安装包下载并保存) a.下载virtualbox安装包 下载链接https://www.virtualbo ...
- Python 模拟伯努利试验和二项分布
1.模拟 27 次投掷硬币的伯努利试验 代码: from scipy import stats import numpy as np p = 0.5 # 生成冻结分布函数 bernoulliDist ...
- Java期末复习——主观题
JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境. JRE:Java Runtime Envir ...
- vue - 基础(2)
<div id="content"> {{ msg }} <div v-text="msg"></div> <div ...
- 【oracle】ORA-00257 archiver error. Connect internal only, until freed
[原因]归档日志太多导致磁盘空间过小. [解决办法]删除日志或加大空间
- java 8 学习一(概述)
学习java8的新特性之前,简单看了下从java5开始历代版本的新特性,都是别人总结的. java5.java6.java7.java8的新特性 http://blog.csdn.net/samjus ...
- Fish eating fruit 沈阳网络赛(树形dp)
Fish eating fruit \[ Time Limit: 1000 ms \quad Memory Limit: 262144 kB \] 题意 大体的题意就是给出一棵树,求每一对点之间的距离 ...
- Windbg Memory(内存)窗口的使用
在 WinDbg 中,可以查看和编辑内存,通过输入命令或通过使用内存窗口. 内存窗口的打开 通过菜单View-->Memory 通过快捷键Alt+5 通过工具栏 使用内存窗口 通过上面方式打开的 ...
- postgresql plv8 安装
网上可以看到pg 9.6 版本的plv8容器镜像,没有pg 高版本的支持镜像,但是在基于原有dockerfile 进行构建的时候,居然失败了,有墙的问题,有版本的问题 所以通过虚拟机尝试下构建方式安装 ...
- PATB1048数字加密
关于代码都是可以在PAT上跑通的 自己是在VS2017上写的,所以会有语句system("pause");,表示暂定方便查看结果. *在一个是VS2017中使用scanf会报错,所 ...