【问题标题】:C# saving and loading all form elements?C# 保存和加载所有表单元素?
【发布时间】:2013-01-31 22:21:30
【问题描述】:

我正在尝试使用一个非常通用的函数来设计我的 C# winform 应用程序,以自动遍历所有表单元素并将它们的状态/值保存在文本文件中,以便以后加载它。我希望它非常通用,以便在未来的项目中重用此代码很容易,因为它不会被严重束缚于细节。 我要保存的表单元素是文本框、组合框、数据网格视图、列表框,仅此而已。我想保存他们的价值观和关于他们的一切。

我打算这样做的一种方法是遍历每个可能的表单元素,然后检测每个类型,然后创建相应的 c# 代码以重新创建其值('tboxmine.value="blue大象"') ,然后将代码写入文件,以便我可以从文件中加载代码并使用 CSCcompiler 执行它。到目前为止,我的代码似乎没有正常工作,我怀疑这个编译器实际上是在我的应用程序 inside 运行代码(我认为它可能正在创建一个新线程?),并且看起来可能有一种更直接、相对标准的方式来做到这一点。

【问题讨论】:

  • Thisthis 应该会让你走上正确的道路。

标签: c# winforms save


【解决方案1】:

这似乎有点像反向的“最佳实践”方法。如果您不了解数据绑定,我建议您研究一下。

基本上,您创建类来表示您的数据并使用数据绑定将控件与您的对象相关联。控件将自动显示正确的值并允许用户更改它。如果用户更改了值,您的对象会自动更新。

要保存数据,您可以使用某种序列化将对象存储在文件中。加载时,您让序列化程序重建您的类结构,并且(最好的情况)您可以开始了。

这不是您所要求的,但我认为您可以很好地使用它;-)

注意:未保存控件的完整状态。例如在文本框中,您的文本将被保存,但 BackColor 不会。

为了让您开始阅读本教程:http://www.codeproject.com/Articles/24656/A-Detailed-Data-Binding-Tutorial

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-29
    相关资源
    最近更新 更多