一个已经郁闷了好长时间的问题,详细说明请您进入阅读,谢谢!
我想在一个运行的exe程序的窗体中的Panel面板上随意的添加控件, 
 比如在运行的窗体上我有一个toolBar工具栏,工具栏上的按钮 
 文本上写着有标签、文本框、图片框、单选按钮,复选框, 
 等基本控件名称,只要点击一个相应的按钮,就可以在Panel上 
 画出一个相应的控件,比如点击的按钮上面写着标签,就可以 
 在Panel上鼠标点击处显示一个Label标签,并能修改标签的显示 
 的内容即Text属性,背景色,前景色,字体选择大小的改变, 
 并能改变控件的大小而且可以移动该控件的位置, 
 工具栏上的其他按钮的功能大概都是如此。 
 在Panel上所画的控件的位置,控件的字体,位置并能够保存下来, 
 退出软件一边下次进入时和上一次所做的变动后保存的位置一样。   
 说这么多废话的意思就是:我想做一个打印报告,报告中控件的位置 
 不是固定的,使用者可以改变控件的位置,比如picturebox控件的大小 
 移动其位置。   
 我所遇到的问题就是在panel面板控件中画n条线的位置如何保存下来, 
 而且我在画线条时画错位置了如何取消或者删除原来所画的线条,所添加 
 的控件也是这样。   
 我现在的做法是写一个配置文件,配置文件保存控件的位置,名称,尺寸, 
 显示的内容(Text属性内容),控件的字体,前景色,背景色,问题是控件 
 字体的名字、字体大小是只读,只能同过fontdialog对话框来修改,我的 
 意思是修改以后并能保存下来,下次再进入程序时就是该过后的字体了, 
 所有控件的位置也是如此。   
 [PictureBoxes] 
 Count=2 
 LEFT0=3120 
 TOP0=3825 
 WIDTH0=5475 
 HEIGHT0=4125 
 LEFT1=3120 
 TOP1=3825 
 WIDTH1=5475 
 HEIGHT1=4125   
 [TextBoxes] 
 Count=1 
 TOP0=8745 
 LEFT0=1620 
 HEIGHT0=6825 
 WIDTH0=9135 
 FONTNAME0=宋体 
 FONTITALIC0=False 
 FONTSIZE0=9 
 FONTSTRIKETHRU0=False 
 FONTBOLD0=False 
 FONTUNDERLINE0=False 
 FORECOLOR0=0   
 [Lines] 
 Count=0 
 Color0= 
 Width0= 
 X00=1090 
 Y00=2254 
 X10=9660 
 Y10=30   
 [StaticText] 
 Count=3 
 NAME0=填写大名: 
 TOP0=960 
 LEFT0=3840 
 FONTNAME0=宋体 
 FONTITALIC0=False 
 FONTSIZE0=24 
 FONTSTRIKETHRU0=False 
 FONTBOLD0=False 
 FONTUNDERLINE0=False 
 FORECOLOR0=32768 
 NAME1=公司: 
 TOP1=1485 
 LEFT1=4425 
 FONTNAME1=宋体 
 FONTITALIC1=False 
 FONTSIZE1=18 
 FONTSTRIKETHRU1=False 
 FONTBOLD1=True 
 FONTUNDERLINE1=False 
 FORECOLOR1=16711680 
 NAME2=你好: 
 TOP2=8355 
 LEFT2=1335 
 FONTNAME2=宋体 
 FONTITALIC2=False 
 FONTSIZE2=12 
 FONTSTRIKETHRU2=False 
 FONTBOLD2=False 
 FONTUNDERLINE2=False 
 FORECOLOR2=16711680   
 我是通过读上面的配置文件来装载控件和修改后保存控件的位置, 
 这样做我发现了几个问题不能解决(就是上面所诉的问题),那位 
 大哥或者大姐又没有其他的好方法,或者有这方面的资料和源代码, 
 对这个问题我已经郁闷了好长时间了。   
 在此先谢谢大家进入阅读!希望大家能帮我解决一下
------解决方案--------------------用xml文件保存,将线条需要保存的属性(如长度、颜色、高度等)保存到XML配置文件,然后在打开的时候,通过此信息用反射的方法将其添加到PANEL上。
------解决方案--------------------都已经是只读属性了。又要动态加载。那加载的时候肯定只能是默认值了。   
 要么把你要用到的控件都重载一下,把这两个属性改成可写的。
------解决方案--------------------如果想移动删除所画的线条,需要把每个线条元素化,封装,然后各个元素分层显示,处理。再加上撤销等功能,好像不是那么容易。
------解决方案--------------------用xml文件保存,将线条需要保存的属性(如长度、颜色、高度等)保存到XML配置文件,然后在打开的时候,通过此信息用反射的方法将其添加到PANEL上。 
 严重同意