将文本框分组以将其从Windows窗体应用程序添加到列表中

时间:2010-12-03 19:07:00

标签: c# windows winforms

我正在开发一个Windows窗体应用程序,我希望允许用户添加(2)数据输入组 - 无论是2个文本框还是其他控件。对于每个“集合”,他们将在每个字段中输入文本。然后我会遍历每个'set'到一个字典,其中一个作为键进入,另一个作为值。它将以默认的2组输入开始。

所以我的问题/问题是:

1)由于我想允许他们添加限制数量的输入(但未知他们将添加多少),​​这样做的最佳控制是什么。

2)如何将每个2个输入组合在一起,这样我就可以添加一个字段作为键,另一个作为字典中的值。

任何想法。

1 个答案:

答案 0 :(得分:1)

我会创建一个用户控件,将两个文本框放在其上,使用KeyTextBox和ValueTextBox的设计器名称,然后在用户控件类上添加两个属性,一个用于键,另一个用于值。

现在假设你的主表单上有一个“添加文本输入对”按钮,还有一个空面板,用于存放按钮列表。在该按钮的代码中,您只需新建一个KeyValuePairTextBoxControl实例,然后将其添加到Panel的Controls集合中。

现在,只要您想根据这些值创建字典,只需循环遍历该面板的控件集合,并且对于每个KeyValuePairTextBoxControl,您可以访问它的键和值属性以将它们放入字典中。

您还可以通过用户控件公开文本框的文本更改事件,并在创建每个控件时为这些事件连接一些处理程序,以便每次都可以刷新字典。

您可以通过一些数据绑定功能更清晰地做到这一点,但通常会根据您要执行的操作的详细信息而变得更加复杂。