【MSCE C#】从注册表中读取历史数据的问题

仿照BDN社区的MSCE addins教程写了一个窗体,想要实现的功能是:

关闭窗体时,将文本框中的数据存入注册表,下次打开窗体时再从注册表中将数据读到文本框内,如果注册表中没有数据,则从文本框的tag中读取数据。代码如下:

private void _Form_TunnelLightingCalculation_FormClosed(object sender, FormClosedEventArgs e)
        {
            RegistryKey rootKey = Registry.CurrentUser.OpenSubKey("Software", true);
            RegistryKey appKey = rootKey.CreateSubKey("RoadElect");
            RegistryKey myKey = appKey.CreateSubKey("TunnelLightingCalculation");
            
            myKey.SetValue("text_W", text_W.Text.ToString());
            myKey.SetValue("text_L", text_L.Text.ToString());
            myKey.SetValue("text_N", text_N.Text.ToString());
            myKey.SetValue("text_pavement", text_pavement.Text.ToString());
            myKey.SetValue("text_h", text_h.Text.ToString());
            myKey.SetValue("text_Vt", text_Vt.Text.ToString());
            myKey.SetValue("text_Characteristic", text_Characteristic.Text.ToString());
            myKey.SetValue("check_mix", check_mix.Checked.ToString());
            myKey.SetValue("check_opposite", check_opposite.Checked.ToString());
            myKey.SetValue("check_optics", check_optics.Checked.ToString());
        }

        private void _Form_TunnelLightingCalculation_Load(object sender, EventArgs e)
        {
            RegistryKey myKey = Registry.CurrentUser.OpenSubKey("Software\\RoadElect\\TunnelLightingCalculation");
            if (null != myKey)
            {
               
                text_W.Text = myKey.GetValue("text_W").ToString();
                text_L.Text = myKey.GetValue("text_L").ToString();
                text_N.Text = myKey.GetValue("text_N").ToString();
                text_pavement.Text = myKey.GetValue("text_pavement").ToString();
                text_h.Text = myKey.GetValue("text_h").ToString();
                text_Vt.Text= myKey.GetValue("text_Vt").ToString();
                text_Characteristic.Text = myKey.GetValue("text_Characteristic").ToString();
                check_mix.Checked = Boolean.Parse(myKey.GetValue("check_mix").ToString());
                check_opposite.Checked = Boolean.Parse(myKey.GetValue("check_opposite").ToString());
                check_optics.Checked= Boolean.Parse(myKey.GetValue("check_optics").ToString());


            }
            else
            {
                text_W.Text = text_W.Tag.ToString();
                text_L.Text = text_L.Tag.ToString();
                text_N.Text = text_N.Tag.ToString();
                text_pavement.Text = text_pavement.Tag.ToString();
                text_h.Text = text_h.Tag.ToString();
                text_Vt.Text = text_Vt.Tag.ToString();
                text_Characteristic.Text = text_Characteristic.Tag.ToString();
            }
        }

但运行的时候,每次都只能从tag内获取数据,并不会读取注册表中的,查看注册表发现Software\\RoadElect\\TunnelLightingCalculation这个注册表根本就没有创建出来。想请教下是哪里出了问题?