比如             // 
            // button1
            // 
            this.button1.Location = new System.Drawing.Point(84, 158);
            this.button1.Name = "button1";
            this.button1.Size = new System.Drawing.Size(75, 23);
            this.button1.TabIndex = 2;
            this.button1.Text = "button1";
            this.button1.UseVisualStyleBackColor = true;存在XML文件中   
如果在FORM加载之前  从XML文件中生成 序列化还是自己写对应的解析类  重要是的是如何管理  窗体中有大量的这样的控件该怎么处理

解决方案 »

  1.   

    性能上应该没多大影响的  其实就是代替DESIGN.CS里面的那些INITCOMPENT方法嘛 
      

  2.   

    你这个米必要这么做吧!!并且你的button的ID不需是不一样的才行,最好通过动态生成。事件可以100个控件只指定一个空间来操作,但是这样做的效率会大大降低 啊!得不偿失
      

  3.   

    那用XmlDocument 或者XmlTextReader读取分析,MSDN有这方面的资料:下面的是我整理的DOM,XmlDocument 与它完整类似,楼主参考:

    http://blog.csdn.net/sdl2005lyx/article/details/6634072
      

  4.   

    这个很简单,google一下很多  动态创建控件
    看在100分的份上 多说几句,按照你的思路写一个 类(ButtonModelInfo)用来 表述Button 的各个属性。序列化之后就可存储起来。 生成的过程:
    1、读取ButtonModelInfo序列化的xml文件,反序列化成ButtonModelInfo实例。
    2、写一个 CreatButtonFromButtonModelInfo(ButtonModelInfo)方法,返回Button实例。
    3、动态生成按钮
    Button bu=CreatButtonFromButtonModelInfo(ButtonModelInfo);
    This.Controls.Add(bu); 
    大概是这个思路,碰到问题自己google一下就解决了,譬如 Button位置什么的。
      

  5.   


    非常感谢您的直言不讳  
    通过自定义类来进行序列化的转换  但是这样会带来另外一个问题 就是事件也得重复的去定义 
    如果直接通过读取XML文件然后进行创建的话 
    那么在开发时  如果对控件进行编写呢?  因为在开发代码的时候 还没有生成
      

  6.   

    估计是我表述不清晰让您误解了  微软替我们生成了design.cs文件  通过XML文件来做到类似的效果或者 通过自定义解析器来解决这个问题不过  即便有了设计部分的那些类是在运行时的时候生成的  现在代码在设计器如何进行代码的开发呢 
      

  7.   


    这个做法不错,学习了!
    其实将这些动态读取xml文件、生成控件的类做成用户控件,可以重复使用。
      

  8.   

    我说的方法是 按照面向对象的思路去设计, 直接读取XML 是 面向过程的思路,各有优劣
    关于 “事件也得重复的去定义”的问题  ,其实可以 在控件创建之后 动态注册事件进去
      

  9.   

    更正,是把你想要的配件的配置方法,写在那个 InitializeComponent()之后就Ok。
      

  10.   

    实际上设计的时候你不需要 实例,只需要类型(type)就行了,知道了 type 就知道有哪些属性 方法 事件了,这个时候 可以配置规则