基本上,我的代码中有一些静态数组,如下所示:
private string[] mFirst = new string[10] { "Amy", "Scott", "Jamie", "Sharon", "Brock", "Baxtor", "John", "", "", "" };
所以我必须在程序中为用户存储一些数据。现在,在程序中,我将这些存储的数据显示到一个列表框中。从那里,用户可以向其中添加更多数据并显示它。
问题是我试图允许用户删除条目。我的删除功能正常工作。问题是它只是将它从列表框中删除,实际上并没有将它从存储在程序中的内容中删除。因此,当我向用户重新显示存储的条目时,它会重新出现,因为它从未真正删除过。
我的问题是如何决定用户删除哪一行以及与哪个数据条目相关?我想过为每个数组条目分配一个数字,然后在之后运行一个循环以删除该存储的条目,但我不知道从哪里开始这样做,或者是否有更简单的方法来做到这一点,我只是不知道了解。
编辑:
ListBox.SelectedObjectCollection selectedItems = lstOutput.SelectedItems;
List<object> fixedItems = new List<object>();
fixedItems.Add(mFirstLine);
fixedItems.Add(mAverage);
fixedItems.Add(mHigh);
fixedItems.Add(mLow);
fixedItems.Add(mSpace);
for (int i = selectedItems.Count - 1; i >= 0; i--)
{
if (fixedItems.Contains(selectedItems[i]) == false)
{
lstOutput.Items.Remove(selectedItems[i]);
}
}
这就是我的删除方法的样子。我知道这不是最好的。所有 fixedItems.Add 都是我不想被删除的标签。
要回答所有问题,我必须有一个静态数组。这不是选择;任务需要它。我完全同意动态是要走的路,但同样,它必须是静态的。所以@No Idea For Name,不确定您的建议是否适用于静态数组。
这是 Windows 窗体。
@dav_i 不知道为什么我会删除所有内容并再次添加。我需要做的就是能够删除他们选择的已存储的条目,然后我会在此之后添加所有内容。我可以从列表框中删除它,但不知道如何在它实际存储在我的程序中的位置删除它,因为我需要确切知道它在数组中的哪个条目。
@AMR 不知道什么是数据绑定。我会看的