[英]Adding String Values to an Array
我有这段代码,这似乎是一个非常愚蠢的问题,但这是他们被教给我的方式,而且对我而言它无法正常工作。
我希望当我在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();
}
每次输入btnEnter_Click方法时都要清除数组,应将int声明为页面的变量,例如“全局”变量,并且在btnEnter_Click方法中应仅添加新值。 对不起,英语不好。
它应该只是下面的代码。 不需要for循环,并且您不应该清除lstWords.Items,因为这就是您的数据消失的原因。 只需将文本框“文本”添加到列表中,然后清除文本框即可。 您也不需要string []单词,因为它作为局部变量没有任何作用。 如果您真的想将其添加到string []中,那么它将需要是该方法所在的类的成员。我认为仅做lstWords.Items.Add应该会很好,但是如果那是您需要在其中添加文本的地方已保存。
private void btnEnter_Click(object sender, EventArgs e)
{
lstWords.Items.Add(txtEnterWord.Text);
txtEnterWord.Clear();
}
private void button1_Click(object sender, EventArgs e)
{
string words;
words = textBox1.Text;
listBox1.Items.Add(words);
textBox1.Clear();
}
如果试图将新项目连续添加到列表中,则如果要保持视觉效果,则不应清除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)
}
有主意吗?
如果要将每个项目添加到列表框中,则不应调用下面的方法。 此功能将清除列表中当前包含的所有项目,从而使其显示为空。
lstWords.Items.Clear();
相反,您应该只将文本框(txtEnterWord)中的文本添加到列表框项中。
lstWords.Items.Add(txtEnterWord.Text);
如果要将值也存储在其他位置,则应在按钮单击功能之外设置此变量。 如果您希望能够轻松地将项目添加到数组,请考虑使用列表。 可以在这里找到更多信息: https : //msdn.microsoft.com/zh-cn/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();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.