C#winform如何将checkbox的选中状态保存到注册表或配置文件

如题所述

可以用xml来保存

//读取程序配置
private void LoadConfig()
{
XmlDocument xdo = new XmlDocument();
xdo.Load(Application.StartupPath + @"\Config.xml");
XmlNode head = xdo.SelectSingleNode("Config");
XmlNode Point1_x = head.SelectSingleNode("Point1_x");
XmlNode Point1_y = head.SelectSingleNode("Point1_y");
XmlNode Point2_x = head.SelectSingleNode("Point2_x");
XmlNode Point2_y = head.SelectSingleNode("Point2_y");
XmlNode Point3_x = head.SelectSingleNode("Point3_x");
XmlNode Point3_y = head.SelectSingleNode("Point3_y");
XmlNode time = head.SelectSingleNode("time");
XmlNode count = head.SelectSingleNode("count");
this.txtb_x1.Text = Point1_x.InnerText;
this.txtb_y1.Text = Point1_y.InnerText;
this.txtb_x2.Text = Point2_x.InnerText;
this.txtb_y2.Text = Point2_y.InnerText;
this.txtb_x3.Text = Point3_x.InnerText;
this.txtb_y3.Text = Point3_y.InnerText;
this.txtb_time.Text = time.InnerText;
this.txtb_count.Text = count.InnerText;

} //保存程序配置
private bool SaveConfig()
{
try
{
XmlDocument xdo = new XmlDocument();
xdo.Load(Application.StartupPath + @"\Config.xml");
XmlNode head = xdo.SelectSingleNode("Config");
XmlNode Point1_x = head.SelectSingleNode("Point1_x");
XmlNode Point1_y = head.SelectSingleNode("Point1_y");
XmlNode Point2_x = head.SelectSingleNode("Point2_x");
XmlNode Point2_y = head.SelectSingleNode("Point2_y");
XmlNode Point3_x = head.SelectSingleNode("Point3_x");
XmlNode Point3_y = head.SelectSingleNode("Point3_y");
XmlNode time = head.SelectSingleNode("time");
XmlNode count = head.SelectSingleNode("count");
Point1_x.InnerText = this.txtb_x1.Text.Trim();
Point1_y.InnerText = this.txtb_y1.Text.Trim();
Point2_x.InnerText = this.txtb_x2.Text.Trim();
Point2_y.InnerText = this.txtb_y2.Text.Trim();
Point3_x.InnerText = this.txtb_x3.Text.Trim();
Point3_y.InnerText = this.txtb_y3.Text.Trim();
time.InnerText = this.txtb_time.Text.Trim();
count.InnerText = this.txtb_count.Text.Trim();
xdo.Save(Application.StartupPath + @"\Config.xml");
return true;
}
catch
{
return false;
}
}
//创建配置文件
private bool CreateConfig()
{
try
{
XmlTextWriter xmlwriter = new XmlTextWriter(Application.StartupPath + @"\Config.xml", Encoding.Default);
xmlwriter.WriteStartDocument();
xmlwriter.WriteStartElement("Config");

xmlwriter.WriteElementString("Point1_x", "0");
xmlwriter.WriteElementString("Point1_y", "0");
xmlwriter.WriteElementString("Point2_x", "0");
xmlwriter.WriteElementString("Point2_y", "0");
xmlwriter.WriteElementString("Point3_x", "0");
xmlwriter.WriteElementString("Point3_y", "0");

xmlwriter.WriteElementString("time", "1000");
xmlwriter.WriteElementString("count", "1");

xmlwriter.WriteEndElement();

xmlwriter.WriteEndDocument();
xmlwriter.Close();
return true;
}
catch
{
return false;
}

}
#endregion
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-03-21
你就在改变选中状态的事件里去写保存的代码啊。。。追问

我要在下次再打开的时候可以自动加载

追答

那就在窗体加载的时候读取一下配置文件啊,不过这里要注意你要先读取配置文件然后再生成checkbox或者写一个读取配置文件的方法放在窗体构造函数中初始化函数的前面,否则你新做出来的checkbox的默认属性是等于false的这样就又写回去了

本回答被提问者采纳
第2个回答  2011-03-21
我只会保存到配置文件操作INI文件
相似回答