繁体   English   中英

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

[英]How to create new string each time new item is created?

我有一个文本框,一个添加按钮,一个创建按钮和一个列表框。 目前,当我在文本框中输入文本并单击“添加”按钮时,文本将出现在列表框中。 当我单击创建按钮时,它将在消息框中显示列表框中的文本/项目。 但是我希望能够在列表框中输入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);
    }

如果我了解得很好,您只是想每次都从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());

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

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()]);
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM