1

我想在具有以下行为的 VB .NET(使用 VS 2012)中创建一个 Windows 窗体:

  1. 它是用于数据输入的独立桌面应用程序
  2. 所有数据都存储在本地 CSV 文件中 - 没有数据库,也没有编辑以前的数据
  3. 该表单允许用户在字段行中输入数据 - 文本框、组合框、日期
  4. 每行是一组数据,对应CSV文件中的一行数据
  5. 用户可以通过单击 [+] 或 [-] 按钮添加或删除行 - 每行一对

我可以轻松构建满足 1 - 4 的应用程序。今天,我可以构建我的应用程序,一次只输入和保存一行。

我现在要做的是将应用程序增强到上面的第 5 位:

  • 将字段组合在一起(在面板中?) - 我不喜欢为此使用 DataGrid;使用一组重复的简单控件看起来更好
  • 添加一组字段(到面板列表?)
  • 删除特定行(字段组)

当用户单击[保存]时,我将收集表单上收集的所有数据并将其保存到 CSV 文件中,每组字段一个文件行。

有没有人有一些示例代码来展示如何做这样的事情?

有人可以建议对字段进行分组以便重复它们的最佳方法吗?

4

1 回答 1

0

将每一行控件分组在 a 中Panel,因此您可以在需要时轻松将它们全部删除,并且我建议您Panel使用滚动条将另一行中的所有行分组,因此当行数超过高度时不会创建超出边界形式。

对于控件的创建和删除,您必须动态地进行,添加所有需要的属性和处理程序(事件)AddHandler。您只需要知道新行的位置,只需获取最后Panel添加的并添加与顶部的距离即可。

删除一行时,只需删除Panel并减少后面面板其余部分的顶部(例如,假设您的表单上只有面板(行)):

Form1.Controls.RemoveAt(iPos)

For i As Integer = iPos To Panel1.Controls.Count - 1
    Form1.Controls(i).Top -= iDistBetween
Next

我希望这可以指导你。

于 2013-02-14T09:01:42.520 回答