简单的说明,在一个form中有个panel,panel里放了两个button,panel下方有两个button,一个保存,一个加载。
点击保存按钮,可以将form中的panel和button保存成一个文件,点击加载可以将这个文件读取出来放到form中

解决方案 »

  1.   

    Panel应该没有序列化。
    快下班,没时间帮你试。提供两个思路(没试过)1)保存:将Panel对象属性保存文件(Xml),加载:newPanel对象,将属性赋值(比较麻烦,但一定可行)
    2)保存:用Jason序列化文件保存         加载:反序列化创建对象(简单,不知道行不行)
      

  2.   

    用XML保存读取C#读写XML文件 
    **************************** phone.xml ****************************<?xml version="1.0" encoding="utf-8" ?> 
    <PhoneBook>
     <phone id="001">
      <Name>加菲尔德</Name> 
      <Number>5555555</Number>
      <City>纽约</City>
      <DateOfBirth>26/10/1978</DateOfBirth>
     </phone>
     <phone id="002">
      <Name>迈克</Name>
      <Number>6666666</Number>
      <City>纽约</City>
      <DateOfBirth>12/02/1978</DateOfBirth>
     </phone>
    </PhoneBook>*********************************************************************·使用Document读取及写入XML方法  private void xmlfun()
      {
       XmlDocument doc = new XmlDocument();
       doc.Load(Server.MapPath("phone.xml"));   XmlElement node = doc.CreateElement("phone");
       XmlAttribute atr = doc.CreateAttribute("id");
       atr.InnerText = "003";
       node.Attributes.Append(atr);   XmlNode xnode = (XmlNode)doc.CreateElement("Name");
       xnode.InnerText="testName";
       node.AppendChild(xnode);   xnode = (XmlNode)doc.CreateElement("Number");
       xnode.InnerText="119";
       node.AppendChild(xnode);
       xnode = (XmlNode)doc.CreateElement("City");
       xnode.InnerText="cs";
       node.AppendChild(xnode);
       xnode = (XmlNode)doc.CreateElement("DateOfBirth");
       xnode.InnerText="12/02/1978";
       node.AppendChild(xnode);
       doc.DocumentElement.InsertAfter(node,doc.DocumentElement.LastChild);   doc.Save(Server.MapPath("phone1.xml"));   //必须要存为不同的文件  } ·使用XmlTextWriter写入XML方法  private void xmlwriter()
      {
       XmlTextWriter writer= new XmlTextWriter(Server.MapPath("phone4.xml"),null);
       writer.Formatting = Formatting.Indented;  //缩进格式
       writer.Indentation =4;   writer.WriteStartDocument();   writer.WriteStartElement("Person");   writer.WriteStartAttribute("ID",null);
       writer.WriteString("004");
       writer.WriteEndAttribute();   writer.WriteStartElement("Name");
       writer.WriteString("testWriterName");
       writer.WriteEndElement();   writer.WriteStartElement("Number");
       writer.WriteString("88888");
       writer.WriteEndElement();   writer.WriteStartElement("City");
       writer.WriteString("testWriterCity");
       writer.WriteEndElement();   writer.Flush();
       writer.Close();  } ·使用XmlTextReader读取XML方法  private void xmlread()
      {
          XmlTextReader reader = new XmlTextReader(Server.MapPath("phone.xml"));
          while(reader.Read())
          {
              if(reader.LocalName.Equals("Name") || reader.LocalName.Equals("Number"))
          {
          this.Label1.Text += reader.ReadString()+"\t";
      }
     ·作用SqlCommand.ExecuteXmlReader()取得XMLSqlConnecting conn = new SqlConnection(CONNSTR);
    SqlCommand cmd = new SqlCommand("select fname from employee for xml auto",conn);
    conn.open();
    XmlReader reader = cmd.ExecuteXmlReader();
      

  3.   

    http://heisetoufa.iteye.com/blog/265084
      

  4.   

    循环读到BinaryStream中,然后利用FileStream另存为一个文件