我写了一个代码,它在点击时会创建一个新按钮。但我想保存新的按钮设置(可能在文件中),大小等。在表单关闭后,它们应该被保存,我们应该能够在重新打开时再次看到它们。我怎么能这样做?
...谢谢
答案 0 :(得分:0)
创建一个包裹按钮的类。 (WrappedButton)
因此它将按钮作为构造函数的参数。
向要保存的此类添加属性。高度,宽度,文字,左,右等。
在构造函数中,从按钮上的字段设置类的字段。
将所有WrappedButtons放入列表中。
使用以下代码在文件中保存和加载列表。
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;
}
}