zoukankan      html  css  js  c++  java
  • WinForm自动记录从上次关闭位置启动窗体

    次功能主要是通过在注册表中读写窗体的Location属性来实现的。在窗体关闭前处理窗体的FormClosed事件,将窗体的Location属性值写入注册表,然后在窗体的Load事件中从注册表中读取保存的数据。
     
    
    (1)Location属性
    Point结果,表示窗体的左上角相对桌面的 左上角的坐标。
    (2)读写注册表
    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("1")), Convert.ToInt16(myReg2.GetValue("2"))); //设置窗体的显示位置
    }
    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("1", this.Location.X.ToString());
    myReg2.SetValue("2", this.Location.Y.ToString());
    }
    catch
    {
    
    }
    }
  • 相关阅读:
    《通往衰败之路》读后感 读书笔记
    《苏世民我的经验与教训》读后感 读书笔记
    《红星照耀中国》读后感 读书笔记
    《上帝之子》读后感 读书笔记
    《两兄弟》读后感 读书笔记
    《好的经济学》读后感 读书笔记
    JSON 使用 教程
    JSON 使用
    JSON 语法
    Json
  • 原文地址:https://www.cnblogs.com/51net/p/11265696.html
Copyright © 2011-2022 走看看