首页 > 解决方案 > 将来自 3 个文本框的信息添加到锯齿状数组中以显示在列表框中

问题描述

表单布局

我试图创建一个 Windows 窗体,允许用户以字符名称、强度和敏捷度的形式将值输入到锯齿状数组中。一旦他们将这些值输入到文本框中,就必须将其保存,以便用户可以查看使用列表框输入的字符的信息

    public Form1()
    {
        InitializeComponent();
        String[][] Arr = new String[3][];
        Arr[0] = new String[20];
        Arr[1] = new String[20];
        Arr[2] = new String[20];

    }

所以我为用户创建了字符串来输入 3 个属性的值。现在我不确定在哪里实际添加代码(以及代码是什么)。我应该放一行如 Arr[0] = NameTxtbox.Text

标签: c#

解决方案


不要使用多个值数组代替单个对象数组。

考虑一个简单的对象:

public class Character
{
    public string Name { get; set; }
    public string Dexterity { get; set; }
    public string Strength { get; set; }
}

现在,如果您希望您的表单维护Character对象列表,请在您的表单中创建一个类级别的属性:

private List<Character> Characters { get; set; } = new List<Character>();

现在,每当您从输入中保存字符时(例如单击表单上的“保存”按钮时),您只需将其添加到列表中:

Characters.Add(new Character
{
    Name = NameTxtbox.Text,
    Dexterity = DexterityTxtbox.Text,
    Strength = StrengthTxtbox.Text
});

因此,您不必尝试维护单个值数组的复杂数组,而是拥有一个有意义的对象的简单集合。您可以将您的对象绑定ListBox到同一个对象集合。


推荐阅读