zoukankan      html  css  js  c++  java
  • 【转】C# 注册表简单操作

    1.         注册表介绍

    注册表查看工具regedit.exe。最高级主要包括5个键。

     

    另外还有2个隐藏的,一般不常用。

    2.         注册表操作

    .NET操作注册表主要用到两个类,命名空间为Microsoft.Win32

    • RegistryKey针对具体键的操作,包括3个只读属性和一些列的方法,分别添加、删除和设定子键和值。
    • Registry主要包括7个只读属性,分别对应可能存在的7个顶级键。

    3.         注册表实例

    实例很简单:通过下拉框选择颜色,作为窗体的背景色。当关闭窗口时自动保存设置。

    ²        页面布局:新建Windows Application程序,在窗体上添加一个ComboBox控件;

    ²        初始化颜色下拉框:在这里我们要利用反射来获取标准色列表。

     

         
     private void DisplayColor()
            {
                Type colortype 
    = typeof(Color);
                PropertyInfo[] info 
    = colortype.GetProperties();
                
    foreach (PropertyInfo pi in info)
                {
                    
    if (pi.PropertyType == typeof(Color)&&pi.Name !="Transparent")
                    {
                        comboBox1.Items.Add(pi.Name);
                    }
                }
            }

      

    注意:由于窗体背景色不能设置为透明,因此要排除”Transparent”

    ²        改变选择时,窗体颜色随之改变。在ComboBox控件添加事件:

     

    SelectedIndexChanged
    private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
            {
                
    this.BackColor = Color.FromName(comboBox1.SelectedItem.ToString());
            }

     

         ²        关闭窗体时,保存背景色;

     

           
     1      private void SaveColor()
     2         {
     3             try
     4             {
     5                 RegistryKey colorkey = Registry.CurrentUser.CreateSubKey(@"SoftWare\Cathy\Colors");
     6                 colorkey.SetValue("BackColor", comboBox1 .SelectedItem.ToString ());
     7                 colorkey.Close();
     8             }
     9             catch (Exception ex)
    10             {
    11                 MessageBox.Show("加载失败" + ex.Message.ToString());
    12             }
    13         }

     

    然后,我们重写窗体的Dispose()事件,在释放窗体对象时,调用以上方法。

     

     

     
    Dispose
     1 protected override void Dispose(bool disposing)
     2         {
                ........
     7             base.Dispose(disposing);
     8             if (comboBox1.SelectedIndex != -1)
     9                 SaveColor();
    10         }

     

        此时,运行程序,如下图所示:

     

    打开注册表,找到相应的键值:

     

    ²        打开窗体时,加载用户设置的背景色。

     

          
     1 private void GetColor()
     2         {
     3             try
     4             {
     5                 RegistryKey colorkey = Registry.CurrentUser.OpenSubKey(@"SoftWare\Cathy\Colors");
     6                 string ColorName = (string)colorkey.GetValue("BackColor");
     7                 Color color = Color.FromName(ColorName);
     8                 this.BackColor = color;
     9                 comboBox1.SelectedItem = ColorName;
    10                 colorkey.Close();
    11             }
    12             catch (Exception ex)
    13             {
    14                 MessageBox.Show("获取失败" + ex.Message.ToString());
    15             }
    16         }

     

           然后在窗体的构造函数中调用即可。

    重新运行程序,加载成功。

     

     

     

  • 相关阅读:
    《数据库技术基础与应用(第2版)》学习笔记——第4章
    《数据库技术基础与应用(第2版)》学习笔记——第4章
    《数据库技术基础与应用(第2版)》学习笔记——第3章
    《数据库技术基础与应用(第2版)》学习笔记——第3章
    《数据库技术基础与应用(第2版)》学习笔记——第2章
    《数据库技术基础与应用(第2版)》学习笔记——第2章
    《数据库技术基础与应用(第2版)》学习笔记——第1章
    《数据库技术基础与应用(第2版)》学习笔记——第1章
    新近碰到的病毒(TR.Spy.Babonock.A)
    新近碰到的病毒(TR.Spy.Babonock.A)
  • 原文地址:https://www.cnblogs.com/vic_lu/p/2092164.html
Copyright © 2011-2022 走看看