【发布时间】:2012-05-05 18:28:09
【问题描述】:
我不是在寻求答案,而是在寻求创造更好解决方案的想法和建议。我什至在寻找一些基本的面向对象设计理论的参考,因为我觉得这一定是一个常见的场景,但我不知道如何正确地用它来找到可靠的搜索结果。
我提出了这个例子(我将省略代码,因为它很容易解释): 我有一个包含一个树视图、一个按钮和一个文本框的表单。我还有一个类,TextClass,它有 2 个字符串:文本和名称。
当按钮被点击时:
- 创建一个新的树节点。为 TreeNode 分配一个唯一名称(例如:“Instance1”)并将其添加到 Treeview
- 创建类的实例,TextClass。将唯一名称(例如:“Instance1”)分配给 TextClass.Name
- 将此新的 TextClass 实例添加到列表 TextClassList
在树视图中单击节点时:
- 遍历列表TextClassList,找到与当前选中的TreeNode.Name匹配的TextClass.Name字符串
- 然后设置:Textbox.Text = TextClass.Text
Textbox_TextChanged 触发时:
- 循环遍历列表,找到与当前选择的 TreeNode 匹配的 TextClass.Name 字符串,TreeNode.Name
- 然后设置:TextClass.Text = Textbox.Text
所有这些工作都很好,但是看起来……草率。我在问是否有更好/正确的方法来处理这种存储和检索值的方法。如果这是一个 OOP 基础,我会很感激一些关键字,我可以做一些搜索。
谢谢, 道格
【问题讨论】:
-
我假设您在这里使用 Winforms?如果您可以选择切换到 WPF,那么绑定将(几乎)免费为您处理很多场景:)
-
我会研究 WPF 以备将来使用,但是对于这个程序,它必须是 winforms。谢谢你的建议
标签: c# treeview instances storage