如何在每次创建新项目时创建新字符串?

时间:2014-06-12 07:27:58

标签: c# string visual-studio-2010 listbox

我有一个文本框,一个添加按钮,一个创建按钮和一个列表框。目前,当我在文本框中输入文本并单击添加按钮时,文本随后出现在列表框中。当我单击“创建”按钮时,它会在消息框中显示列表框中的文本/项目。但我希望能够在列表框中输入4或5个项目,当我单击创建按钮时,它会在消息框中的列表框中显示一个随机项目。

例如,说Dean,Sam,Jess是列表框中的项目,当我单击创建按钮时,我希望它在消息框中显示其中一个项目,但我希望每次单击时它都是随机项目创建按钮,一次只有一个项目。但是列表框中的项目并不总是具有相同的名称,因此我无法将字词设置为字符串,因为我希望用户能够将他们喜欢的内容输入到列表框中。所以我只能将输入到文本框中的内容串起来。

这是一些代码,我已经将列表框的代码留空了,因为我不知道该怎么做,但我知道这可能是我需要工作的地方

    private void btnadd_Click(object sender, EventArgs e)
    {
        stringname = textBoxname.Text;
        textBoxname.Clear();
        listboxname.Items.Add(stringname);            
    }

    private void listboxname_SelectedIndexChanged(object sender, EventArgs e)
    {

    }

    private void buttoncreate_Click(object sender, EventArgs e)
    {
        MessageBox.Show(stringname);
    }

2 个答案:

答案 0 :(得分:0)

如果我理解得很好你只想每次从ListBox中随机显示?

使用随机数选择随机项。

Random random = new Random();
int randomNumber  = random.Next(1, listboxname.Items.Count);
listboxname.Select();
listboxname.SelectedItem = listboxname.Items[randomNumber];
MessageBox.Show(listboxName.SelectedItem.ToString());

答案 1 :(得分:0)

假设你的单词分隔符是一个空格:

Random rand=new Random();

private void buttoncreate_Click(object sender, EventArgs e)
    {
        //Splits your string on space, turning it in an array
        var arrayOfWords=(textBoxname.Text).Split(' ');
        //Picks a random word on the array
        MessageBox.Show(arrayOfWords[rand.Next(arrayOfWords.Count()]);
    }