2013-02-26 177 views
1

我可以將多個選定的項目從列表框中顯示到按鈕上的文本框中,但是如何在消息框中顯示相同的內容?我的意思是在消息框中顯示第一個項目不是問題,但同時有多個項目。建議請...將選定的列表框項目顯示到消息框中

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Windows.Forms; 

namespace cities 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 
     } 

     private void button1_Click(object sender, EventArgs e) 
     { 
      textBox1.Clear(); 
      foreach (object selectedItem in listBox1.SelectedItems) 
      { 
       textBox1.AppendText(selectedItem.ToString() + Environment.NewLine); 
      } 


     } 

     private void listBox1_SelectedIndexChanged(object sender, EventArgs e) 
     { 
     } 

     private void textBox1_TextChanged(object sender, EventArgs e) 
     { 

     } 
    } 
} 

回答

8

您可以創建臨時變量來保存文本,然後創建一個消息框。

StringBuilder message = new StringBuilder(); 
foreach (object selectedItem in listBox1.SelectedItems) 
{ 
    message.AppendLine(selectedItem.ToString()); 
} 
MessageBox.Show(message.ToString()); 
+0

真的很好的解決方案!謝謝! – 2013-02-26 08:58:39

+0

你們真的很快好@Dmitry – Shrivallabh 2013-02-26 09:06:03

0

在你點擊按鈕 -

 textBox1.Clear(); 
     string str = string.Empty; 
     foreach (object selectedItem in listBox1.SelectedItems) 
     { 
      str += selectedItem.ToString() + Environment.NewLine; 
     } 

     textBox1.Text = str; 
     MessageBox.Show(str); 
+1

我想如果太多選擇的項目,然後確定按鈕,可能頂部酒吧將離開屏幕:) – Sayse 2013-02-26 08:48:12

2

您可以創建基於所有SelectedItems一個字符串,然後顯示在MessageBox。像

string str = string.Join(",", 
         listBox1.SelectedItems.Cast<object>().Select(r => r.ToString())); 
MessageBox.Show(str); 
相關問題