我有这段代码,这可能看起来像一个非常愚蠢的问题,但是我教他们这样做,而且对我来说这是不正常的。
我希望当我在txtEnterWord
文本框中输入文本时,它会被添加到数组words
并显示在列表框lstWords
中。
但每次我添加第二个单词时,它会清除前一个单词并将其替换为新单词。有人知道怎么修这个东西吗? :)
private void btnEnter_Click(object sender, EventArgs e)
{
//string[] words = new string[6];
//words[6] = txtEnterWord.Text;
//for (int i = 0; i < words.Length; i++)
//{
// lstWords.Items.Add(words[i]);
//}
lstWords.Items.Clear();
string[] words = new string[6];
//words[0] = txtEnterWord.Text;
//words[1] = txtEnterWord.Text;
//words[2] = txtEnterWord.Text;
//words[3] = txtEnterWord.Text;
//words[4] = txtEnterWord.Text;
//words[5] = txtEnterWord.Text;
for (int i = 0; i < words.Length;i++)
{
//words[i] = txtEnterWord.Text;
lstWords.Items.Add(txtEnterWord.Text);
txtEnterWord.Clear();
//lstWords.ToString() = lstWords.ToString() + words[i].ToString();
}
答案 0 :(得分:0)
每次输入btnEnter_Click方法时,您都要清除数组,您应该将int声明为页面的变量,例如&#34; global&#34;变量,在btnEnter_Click方法中,您应该只添加新值。 抱歉英文不好。
答案 1 :(得分:0)
它应该是下面的代码。不需要for循环,你不应该清除lstWords.Items,因为这就是你的数据消失的原因。只需将文本框文本添加到列表中,然后清除文本框。你也不需要字符串[]字,因为它没有作为局部变量做任何事情。如果你真的想把它添加到一个字符串[]那么它需要是这个方法所在的类的成员。我认为只是做lstWords.Items.Add应该是好的,但如果那是你需要文本的地方保存。
private void btnEnter_Click(object sender, EventArgs e)
{
lstWords.Items.Add(txtEnterWord.Text);
txtEnterWord.Clear();
}
答案 2 :(得分:0)
private void button1_Click(object sender, EventArgs e)
{
string words;
words = textBox1.Text;
listBox1.Items.Add(words);
textBox1.Clear();
}
答案 3 :(得分:0)
如果您尝试将新项目连续添加到列表中,则不应清除lstWords.Items
是否要以可视方式保留它们。
我建议您创建一个List<string> myWordsToDisplay = new List<string>()
全局,并在单击按钮添加时将项目添加到列表中。
你应该清楚你的应用程序事件“OnPaint”或“OnLoad”清除列表框的逻辑,这清楚地取决于你拥有的项目类型,如下所示
OnPaint(EventArgs e)
{
lstWords.Items.Clear();
lstWords.Items.AddRange(myWordsToDisplay); //if the AddRange method is not present is the same thing as this myWordsToDisplay.ForEach(x => lstWords.Items.Add(x)
}
得到了主意?
答案 4 :(得分:0)
如果您希望每个项目都添加到列表框中,则不应在下方调用该方法。此功能将清除列表中当前的所有项目,从而使其显示为空。
lstWords.Items.Clear();
相反,您应该只将文本框中的文本(txtEnterWord)添加到列表框项目中。
lstWords.Items.Add(txtEnterWord.Text);
如果您希望将值也存储在其他位置,则应在按钮单击功能之外设置此变量。如果您希望能够轻松地将项目添加到阵列,请考虑使用列表。可以在此处找到更多信息:https://msdn.microsoft.com/en-us/library/6sh2ey19(v=vs.110).aspx
您的完整代码应如下所示。
private List<string> words = new List<string>();
private void btnEnter_Click(object sender, EventArgs e)
{
words.Add(txtEnterWord.Text);
lstWords.Items.Add(txtEnterWord.Text);
txtEnterWord.Clear();
}