WinForm自动记录从上次关闭位置启动窗体
2024-09-01 01:45:55
次功能主要是通过在注册表中读写窗体的Location属性来实现的。在窗体关闭前处理窗体的FormClosed事件,将窗体的Location属性值写入注册表,然后在窗体的Load事件中从注册表中读取保存的数据。 ()Location属性
Point结果,表示窗体的左上角相对桌面的 左上角的坐标。
()读写注册表
c#中对注册表进行读写,主要是通过RegistryKey类的GetValue和SetValue方法来实现的。
代码
/// <summary>
/// 窗体加载时获取窗体上次结束时的位置
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Form1_Load(object sender, EventArgs e)
{
RegistryKey myReg1, myReg2; //声明注册表对象
myReg1 = Registry.CurrentUser; //获取当前用户注册表项
try
{
myReg2 = myReg1.CreateSubKey("Software\\MySoft"); //在注册表项中创建子项
this.Location = new Point(Convert.ToInt16(myReg2.GetValue("")), Convert.ToInt16(myReg2.GetValue(""))); //设置窗体的显示位置
}
catch
{ }
}
/// <summary>
/// 窗体关闭前记录窗体的当前位置
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
RegistryKey myReg1, myReg2; //声明注册表对象
myReg1 = Registry.CurrentUser; //获取当前用户注册表项
myReg2 = myReg1.CreateSubKey("Software\\MySoft"); //在注册表项中创建子项
try
{
myReg2.SetValue("", this.Location.X.ToString());
myReg2.SetValue("", this.Location.Y.ToString());
}
catch
{ }
}
最新文章
- AngularJs之五
- wordpress插件bug排查后记(记一次由于开启memecached引起的插件bug)
- 关于BaseExpandableListAdapter
- spring-自动加载配置文件\使用属性文件注入
- winsock教程- windows下的socket编程(c语言实现)
- 《TCP/IP详解卷1:协议》第19章 TCP的交互数据流-读书笔记
- 160905、c3p0详细配置
- Dell服务器MegaCli命令只返回Exit Code: 0x00问题分析
- c 函数传入数组。
- Bear and Floodlight 状态压缩DP啊
- What You Can Learn from Actifio Logs
- 解决windows server在关闭远程桌面后开启的服务也随之关闭的问题
- Day6:html和css
- CentOS 7 配置Tomcat9连接MySQL
- 苹果企业账号打包发布App的详细流程
- 关于redis性能问题分析和优化
- golang 六宫格、九宫格头像生成
- grep 的学习 正则
- [转][C#]手写 Socket 服务端
- lambda表达式和表达式树(深入理解c#)
热门文章
- GAME-BASED LEARNING
- 使用async/await消除callback hell
- Async/await promise实现
- RxSwift 在本质上简化了开发异步程序
- reids 数据库学习
- [RN] React Native 打包时 减少 Apk 的大小
- ajax下post提交方式下载文件的处理(转)
- Windows(win2016、win2019、win10)在IIS下添加.NET Framework 3.5 NetFx3 失败 (状态为:0x800f0950)的解决办法
- GEO Gene Expression Omnibus
- OpenFOAM——冲击斜坡