2014-06-12 50 views
0

我有一個文本框,一個添加按鈕,一個創建按鈕和一個列表框。目前,當我在文本框中輸入文本並單擊添加按鈕時,文本將出現在列表框中。當我點擊創建按鈕時,它會在消息框中顯示列表框中的文本/項目。但我希望能夠在列表框中輸入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); 
    } 
+0

讓我更好地瞭解,你想輸入「院長,薩姆,傑西」,當您按下添加只有一個,並將其他人丟棄,或者你想保存另外兩個以備未來添加? –

+0

不,它們的名稱是可能已經輸入到列表框中的示例。添加按鈕將文本框中的文本添加到列表框中。我想要創建按鈕來顯示一個隨機的項目/文本我已經進入列表框中的消息框。在列表框中可能有1000個項目,我想要創建按鈕來顯示其中的一個和每個隨機的一個 – user3732999

回答

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()); 
+0

這是關閉,但隨機randomNumber = random.Next(1,strings.Items.Count);導致問題,名稱字符串不存在當前上下文 – user3732999

+0

我的錯誤,對不起,我改變了... – Frink

+0

啊是的我應該也注意到了!但現在又是一個錯誤。 MessageBox.Show(listboxname.SelectedItem);告訴我它不能將對象轉換爲字符串 – user3732999

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