C# 如何序列化GraphicPath或Region数据

C# 如何序列化GraphicPath或Region数据,c#,object,serialization,C#,Object,Serialization,我正在尝试序列化自定义控件的最终状态 原因是我做了很多事情来获得最终状态,但在运行时它需要太多的时间和源代码,而且我没有其他方法。所以我想做一次,序列化它,并使用序列化表单作为模板,以避免浪费源代码 对我来说重要的是序列化相关对象的区域数据。但下面的代码会导致异常。我不熟悉序列化,所以请解释一下你的想法 FileStream stream = new FileStream(@"C:\Serialized_t1.Data", FileMode.Create); BinaryFormatter pr

我正在尝试序列化自定义控件的最终状态

原因是我做了很多事情来获得最终状态,但在运行时它需要太多的时间和源代码,而且我没有其他方法。所以我想做一次,序列化它,并使用序列化表单作为模板,以避免浪费源代码

对我来说重要的是序列化相关对象的区域数据。但下面的代码会导致异常。我不熟悉序列化,所以请解释一下你的想法

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在序列化过程中会导致异常,所以我需要不同的方法还是什么?

而异常是….?异常非常清楚-
UserControl
未标记为
Serializable
。您可能想尝试仅序列化区域数据,而不是整个控件。我已经用[Serializable]标记了相关类,我还应该做什么?这可能有助于解决方案中的您我需要序列化对象的Graphicpath或区域数据,尝试推动分离的新类,将对象值初始化为新类以避免“自定义用户控件对象无法序列化”问题(这是人们在论坛上说的),但仍然是同一个例外。有人能给出代码示例吗?