问题描述
就是关闭之后,下次打开,动态生成的控件还能在原来的位置,而不是重置,如果直接设置的控件我可以写入到xml当中,下次读取,但是动态生成呢,比如说点击一个button然后可以生成另外一个可以拖动的button,在运行界面我拖动新生成button到某个位置,关闭之后再次打开,我希望新生成的button还在,谢谢各位!
解决方案
本帖最后由 haixilk 于 2014-07-11 10:42:36 编辑
解决方案二:
最简单的用this.Hide()this.Show()
解决方案三:
关闭的时候保存一下位置是否值得一试?
解决方案四:
读xml会读,写不会写?关闭时写到xml里,下次打开读出来你愿意写到文本或二进制文件里也行
解决方案五:
引用2楼qyj2009的回复:
关闭的时候保存一下位置是否值得一试?
动态生成的新的控件我拖动以后的位置我怎么去保存呢,还有就是动态生成的控件数量在编写代码的时候我也不知道,这个每个控件都要保存位置怎么去实现呢?主要就是这个很疑惑阿
解决方案六:
引用3楼Z65443344的回复:
读xml会读,写不会写?关闭时写到xml里,下次打开读出来你愿意写到文本或二进制文件里也行
写也会的,但是窗体运行的时候,点击新比如说button按钮新生成的控件,我想保存这个新生成的控件,不知道怎么去读写。。
解决方案七:
引用4楼haixilk的回复:
Quote: 引用2楼qyj2009的回复:
关闭的时候保存一下位置是否值得一试?动态生成的新的控件我拖动以后的位置我怎么去保存呢,还有就是动态生成的控件数量在编写代码的时候我也不知道,这个每个控件都要保存位置怎么去实现呢?主要就是这个很疑惑阿
动态生成的,你显示的时候就知道坐标了啊,否则你显示到哪里?可以建立个LIST存放这些动态生成的控件,等关闭时循环LIST写入文件如果用户删除了控件,则从LIST里REMOVE掉写XML,新建节点会不会?实在不行,就写文本文件,每个控件一行,标识出控件类型,名称和坐标.如果有内容,可以连文本一起写进去
解决方案八:
引用4楼haixilk的回复:
Quote: 引用2楼qyj2009的回复:
关闭的时候保存一下位置是否值得一试?动态生成的新的控件我拖动以后的位置我怎么去保存呢,还有就是动态生成的控件数量在编写代码的时候我也不知道,这个每个控件都要保存位置怎么去实现呢?主要就是这个很疑惑阿
在保存的时候,循环所有动态生成的控件,取它的Name值作为标示,对它的Position信息进行保存,保存到Xml文件。读取的时候,读取Xml文件,根据Name值的数量来创建新的控件,当然再次动态生成的控件需要一个标示来和xml文件中的控件有所区分。
解决方案九:
如果确定是写文本,你LIST里直接放字符串,控件类型(比如button),名称(比如btn1),坐标(x,y)每个参数之间加逗号分隔,读的时候stream.readline().split(',')变成string[]数组,然后swich控件类型
解决方案十:
十分感谢楼上几位热心的高手!我去试试看