如何根据控件的所有属性,生成一个控件的相同拷贝??
序列化中 得到  控件的所有属性,并把所有属性存储在一个hashtable中,hashtable(属性name,属性value),反序列化时,得到了这个hashtable,请问,如何根据这个hashtable,得到序列化之前控件的相同拷贝 ?在线等待,望高手指点!!!小弟万分感谢!

解决方案 »

  1.   

    如果这个control是你自己写的,最好提供两个方法,
    一个就是把自身转换成hashtable
    另一个就是从hashtable来转换成此类型object。否则,你就新建一个control,然后逐个给属性赋值。
      

  2.   

    谢谢兄弟的回答。现在我不知道怎么根据控件的属性来生成一个同样的控件。如果是给控件属性一个个的赋值,似乎是不可能的。控件的种类很多,可以包括.net里提供的所有控件。我现在想请教,兄弟们,知道什么方法,或者说什么类里提供方法,可以生成相同的控件。所需要的参数是控件的属性。hashtable也好。或者propertyDescriptor对象也好。谢谢兄弟们。
      

  3.   

    我现在能实现的是。传入一个参数(控件对象obj) 如:方法是getPropertyList(control obj)得到的是这个控件的所有属性,并存在hashtable中。键为属性的名称如Text,Size,Lock,Visible等等。把属性序列化存如一个文件中,当读取文件时,想重新生成先前的所有控件。望高手指教。