我试图序列化我的自定义控件的最终状态。
原因是我做了很多东西以获得最终状态,但是它在运行期间花费了太多时间和资源,而且我没有其他任何方法可去。所以我想做一次,序列化它并使用序列化形式作为模板以避免浪费源。
对我来说重要的是序列化相关对象的Region数据。但是下面的代码导致异常。我是序列化新手,所以请解释一下你的想法。
FileStream stream = new FileStream(@"C:\Serialized_t1.Data", FileMode.Create);
BinaryFormatter processor = new BinaryFormatter();
processor.Serialize(stream, object1);
stream.Close();
注意:相关的自定义控件类标记如下:
[Serializable]
[Designer(typeof(TControllDesigner))]
public class TControl: UserControl
注2:例外是
{"Type 'System.Windows.Forms.UserControl' in Assembly 'System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' is not marked as serializable."}
注3 /编辑: 我注意到,在序列化过程中,GraphicPath或Region会导致异常,所以我需要采用不同的方法还是什么?