C#关于如何保存窗体控件更改后的状态 200
我目前的状况是:在我的“窗体甲”中有个“按钮A”我点A然后跳出“窗体乙”,”窗体乙“里面有文本框,单选按钮,复选按钮,和一般按钮的等等控件,我对这些控件设置后点击“窗体乙...
我目前的状况是:在我的“窗体甲”中有个“按钮A” 我点A然后跳出“窗体乙”,”窗体乙“里面有文本框,单选按钮,复选按钮,和一般按钮的等等控件,我对这些控件设置后点击“窗体乙”中的确认按钮,在”窗体甲“中会生成一个按钮B。
我的问题是,当我点击按钮B的时候跳出“窗体乙”,并且“窗体乙”是我刚刚设置之后的样子,我还能对“窗体乙”进行修改并保存。
更重要的是, 当我重新启动软件的时候,生成的“按钮B”还有"窗体乙"都是存在。
才学c#很多问题都不懂,希望热心的网友能给我给简单的例子,并且解释是怎么做的,如果能让我有所领悟,我感激不尽,给分于大家,谢谢!
为了让大家理解清楚 我上一点图
首先我有这个样一个窗体
当我点击按钮A后
跳出
我在乙窗体中经行了选择
于是在甲窗体中生成了一个按钮
我想单击这个新按钮跳出乙窗体,并且是之前更改过的样子 展开
我的问题是,当我点击按钮B的时候跳出“窗体乙”,并且“窗体乙”是我刚刚设置之后的样子,我还能对“窗体乙”进行修改并保存。
更重要的是, 当我重新启动软件的时候,生成的“按钮B”还有"窗体乙"都是存在。
才学c#很多问题都不懂,希望热心的网友能给我给简单的例子,并且解释是怎么做的,如果能让我有所领悟,我感激不尽,给分于大家,谢谢!
为了让大家理解清楚 我上一点图
首先我有这个样一个窗体
当我点击按钮A后
跳出
我在乙窗体中经行了选择
于是在甲窗体中生成了一个按钮
我想单击这个新按钮跳出乙窗体,并且是之前更改过的样子 展开
展开全部
特殊之处就是需要在窗体乙的操作过程中,动态创建窗体甲上的按钮,这个可以通过委托,或者子父窗体实现
第二个问题,就是你认为的主要问题
首先你在窗体上操作,保存的控件内容,在每次运行的时候,都保存在内容中,一旦程序关闭,该区域内容就释放了,窗体上的值自然就不可能保存下来了,
需要保存的话,那一定是要把值存下来到物理文件中的,这里我推荐你将页面上需要保存的值放到一个类中,然后将这个类序列化成xml文件,下次打开程序的时候,再反序列化这个xml文件,将对象再赋值给控件上。
第二个问题,就是你认为的主要问题
首先你在窗体上操作,保存的控件内容,在每次运行的时候,都保存在内容中,一旦程序关闭,该区域内容就释放了,窗体上的值自然就不可能保存下来了,
需要保存的话,那一定是要把值存下来到物理文件中的,这里我推荐你将页面上需要保存的值放到一个类中,然后将这个类序列化成xml文件,下次打开程序的时候,再反序列化这个xml文件,将对象再赋值给控件上。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
上点图吧,被你绕糊涂了。。
(1)首先你要单机“第一个”这个按钮,想弹出已经经过选择的乙窗体,那么得向新窗体传递一些参数进去,我的想法是在乙窗体中创建initial()函数,。
void initial (bool red,bool yellow,bool blue,bool pen,bool .....)//这些bool值代表相应的按钮是否选择了
{
//设定相应的选择的值
this.red选择框.Checked=red;//属性的名字不一定对,我这会儿没有studio,没法准确给你说,但是就是这么个意思。
}
然后你在甲窗体的“第一个”按钮的点击事件添加,
Form乙 temp=new Form乙();
temp.Form_Load();
temp.initial(xx,xx,xx,xx,...);
(2)关键的是这些值你要存到哪里,你可以用文件的方式来存,就是在创建“第一个”按钮的同时生成一个"第一个.ini"文件记录相应的属性,然后在“第一个”点击事件之前把那些保存的属性先读入内存,然后再是new的那段代码。但是楼主估计还木有学文件读取。你可以采用其他办法,比如说在甲窗体上设置一个label标签,visible属性设为false,然后把那些值存到里面label.text里面,再读取。
(1)首先你要单机“第一个”这个按钮,想弹出已经经过选择的乙窗体,那么得向新窗体传递一些参数进去,我的想法是在乙窗体中创建initial()函数,。
void initial (bool red,bool yellow,bool blue,bool pen,bool .....)//这些bool值代表相应的按钮是否选择了
{
//设定相应的选择的值
this.red选择框.Checked=red;//属性的名字不一定对,我这会儿没有studio,没法准确给你说,但是就是这么个意思。
}
然后你在甲窗体的“第一个”按钮的点击事件添加,
Form乙 temp=new Form乙();
temp.Form_Load();
temp.initial(xx,xx,xx,xx,...);
(2)关键的是这些值你要存到哪里,你可以用文件的方式来存,就是在创建“第一个”按钮的同时生成一个"第一个.ini"文件记录相应的属性,然后在“第一个”点击事件之前把那些保存的属性先读入内存,然后再是new的那段代码。但是楼主估计还木有学文件读取。你可以采用其他办法,比如说在甲窗体上设置一个label标签,visible属性设为false,然后把那些值存到里面label.text里面,再读取。
追问
请问有没有INI文件相关实例?
追答
我这儿没有,帮不到你了。最近太忙,准备考试。不然可以给你写一个。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
执行窗体关闭事件,遍历各个控件,将各个控件的属性用xml文件记录下来,保存在硬盘上。
下次打开窗体时,执行窗体初始化事件,调用原来保存在硬盘上的xml文件,遍历各个控件,将各项属性赋值给控件即可。
下次打开窗体时,执行窗体初始化事件,调用原来保存在硬盘上的xml文件,遍历各个控件,将各项属性赋值给控件即可。
追问
有相关的实例吗
追答
手上没代码,我只有思路。。。
还有一种最简的方法,你点关闭时,不要真正关闭,而是将其隐藏,再打开的时候直接将其显示即可,这样什么事都不要做,即可实现你所要的功能。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C#读写配置文件,
网页通常是类似app.config文件、
本地Winform一般是ConfigurationManager.OpenExeConfiguration读写文件;
你可以通过MSDN看自己Framework对应版本支持的方法,
更新应用程序的配置文件之后需刷新ConfigurationManager.RefreshSection动作。
更多参考MSDN介绍:
ConfigurationManager 类
System.Configuration 命名空间
问答都需要技巧、能切中要害就更容易明白,这个知友回答对你应该有帮助:
http://zhidao.baidu.com/question/229127723.html
vs2005,c#,winform,想运用xml作为配置文件,然后通过读取文件中的信息动态生成控件,请高手给予指导!
网页通常是类似app.config文件、
本地Winform一般是ConfigurationManager.OpenExeConfiguration读写文件;
你可以通过MSDN看自己Framework对应版本支持的方法,
更新应用程序的配置文件之后需刷新ConfigurationManager.RefreshSection动作。
更多参考MSDN介绍:
ConfigurationManager 类
System.Configuration 命名空间
问答都需要技巧、能切中要害就更容易明白,这个知友回答对你应该有帮助:
http://zhidao.baidu.com/question/229127723.html
vs2005,c#,winform,想运用xml作为配置文件,然后通过读取文件中的信息动态生成控件,请高手给予指导!
更多追问追答
追问
那用ini文件来存储 是什么方法呢?和xml有区别吗
追答
区别大了,ini文件说白了就是逐行读取,
在行上设置指定的分隔符、或者用限定行来表达一个对象,
除非你用到JSON组件、反序列化倒还行,否则还是建议用ConfigurationManager比较好。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询