C# 窗体关闭时如何保存新对象?

C# 窗体关闭时如何保存新对象?,c#,winforms,C#,Winforms,我编写了一个代码,它在单击时创建一个新按钮。但我想保存新的按钮设置(可能在一个文件中),大小等。在表单关闭后,它们应该被保存,我们应该能够在重新打开时再次看到它们。我该怎么做 谢谢…使用wrapps按钮创建一个类。(绞钮) 因此它将按钮作为构造函数的参数 向要保存的此类添加属性。高度、宽度、文字、左、右等 在构造函数中,从按钮上的字段设置类上的字段 把你所有的包装钮扣都列在一张清单上 使用以下代码在文件中保存和加载列表 public static void SaveListOfT_ToFi

我编写了一个代码,它在单击时创建一个新按钮。但我想保存新的按钮设置(可能在一个文件中),大小等。在表单关闭后,它们应该被保存,我们应该能够在重新打开时再次看到它们。我该怎么做


谢谢…

使用wrapps按钮创建一个类。(绞钮)

因此它将按钮作为构造函数的参数

向要保存的此类添加属性。高度、宽度、文字、左、右等

在构造函数中,从按钮上的字段设置类上的字段

把你所有的包装钮扣都列在一张清单上

使用以下代码在文件中保存和加载列表

   public static void SaveListOfT_ToFile< T >( List< T > l, string filename )
   {
      Type[] extraTypes = new Type[1];
      extraTypes[ 0 ] = typeof ( T );

      XmlSerializer xs = new XmlSerializer( typeof ( List< T > ), extraTypes );

      using ( StreamWriter writer = new StreamWriter( filename ) )
      {
         xs.Serialize( writer, l );
      }
   }

   public static List< T > LoadListOfT_FromFile< T >( string filename )
   {
      try
      {
         Type[] extraTypes = new Type[1];
         extraTypes[ 0 ] = typeof ( T );

         XmlSerializer xs = new XmlSerializer( typeof ( List< T > ), extraTypes );
         List< T > a;

         using ( FileStream f = new FileStream( filename, FileMode.Open ) )
         {
            // Use the Deserialize method to restore the object's state with
            // data from the XML document. 
            a = ( List< T > )xs.Deserialize( f );
         }


         return a;
      }
      catch ( Exception )
      {
         return null;
      }
   }
publicstaticvoid保存列表文件(列表l,字符串文件名)
{
类型[]外部类型=新类型[1];
extraTypes[0]=typeof(T);
XmlSerializer xs=新的XmlSerializer(typeof(List),extraTypes);
使用(StreamWriter=newstreamwriter(文件名))
{
xs.Serialize(writer,l);
}
}
公共静态列表(字符串文件名)
{
尝试
{
类型[]外部类型=新类型[1];
extraTypes[0]=typeof(T);
XmlSerializer xs=新的XmlSerializer(typeof(List),extraTypes);
列表a;
使用(FileStream f=newfilestream(filename,FileMode.Open))
{
//使用反序列化方法还原对象的状态
//XML文档中的数据。
a=(List)xs.反序列化(f);
}
返回a;
}
捕获(例外)
{
返回null;
}
}

通过编写代码…@L.B当然可以,但我应该编写哪些代码?请查看使用设置:@user3366576
但我应该编写哪些代码
C#代码。我们可以继续此对话,直到您发布到目前为止您已经尝试过的内容,并询问您在哪一部分遇到问题。所以不是“为我写代码”site@user3366576-你的代码绝对重要。为了得到好的答案,有必要展示你的作品。