我是一名学生,正在研究一个班级项目,使用“存储”按钮将字符串值存储到数组[10]中。然后,“显示”按钮将在列表框中显示数组[10]中的字符串值。如果我们也显示此职位,则表示额外的功劳。
当前,当我单击“存储”按钮时,我确实看到了有关该值已存储的消息。但是,当我单击“显示”按钮时,列表框显示10个“ 0”。每次我做的事情只会使情况变得更糟,所以我不确定自己缺少什么和可以忽略的地方。
我的全局变量
string[] results = new string[10];
string value;
我正在使用for循环在“ ResultLabel”中获取字符串值,以将它们存储在数组中[10],直到所有空格都被占用为止,总共10个值。 “ StoreLabel”显示一条消息,表明已存储该值。
protected void StoreButton_Click(object sender, EventArgs e)
{
for (int i = 0; i < results.Length; i++)
{
results[i] = ResultLabel.Text.ToString();
}
StoreLabel.Text = "Results have been stored";
}
然后,我相信我将从结果[10]数组中获取值并将这些值显示在列表框中。
protected void DisplayButton_Click(object sender, EventArgs e)
{
DisplayListBox.Items.Clear();
for (int i = 0; i < results.Length; i++)
{
DisplayListBox.Items.Add(results[i].ToString());
}
}
答案 0 :(得分:0)
您可以将索引附加到字符串。
private void StoreButton_Click(object sender, EventArgs e)
{
for (int i = 0; i < results.Length; i++)
{
results[i] = ResultLabel.Text.ToString();
}
StoreLabel.Text = "Results have been stored";
}
private void DisplayButton_Click(object sender, EventArgs e)
{
DisplayListBox.Items.Clear();
for (int i = 0; i < results.Length; i++)
{
DisplayListBox.Items.Add($"{results[i].ToString()} - {i}");
}
}
答案 1 :(得分:0)
我了解您的项目要求您使用数组并将其限制为10个项目。如果让ListBox进行所有艰苦的工作,则可以简化这些要求。我想提供一种将字符串放入ListBox的简便方法,以使您可以调整该策略以满足项目要求。
如果我们告诉ListBox使用列表作为它显示的项目的来源,那么它很容易使用。然后,我们要做的就是将一个项目添加到此列表中,并告诉ListBox刷新其内容。
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
listBoxDisplay.DataSource = Values;
}
// Here is our list of strings
BindingList<string> Values = new BindingList<string>();
private void buttonStore_Click(Object sender, EventArgs e)
{
// We look at the value in the textbox and add it to list...
Values.Add((Values.Count + 1).ToString() + " - " + textBoxValueToAdd.Text);
// …and tell the ListBox to update itself from the list
listBoxDisplay.Refresh();
}
}