将列表框的选定项目显示在消息框中

时间:2013-02-26 08:42:17

标签: c# .net listbox messagebox

我可以在列表框中将多个选定项目显示在按钮单击的文本框中,但如何在消息框中显示相同的内容?我的意思是在消息框上显示第一项不是问题,而是同时显示多个项目。建议请...

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)
        {

        }
    }
}

3 个答案:

答案 0 :(得分:8)

您可以创建临时变量以在其中保存文本,然后创建一个消息框。

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

答案 1 :(得分:2)

您可以基于所有SelectedItems创建单个字符串,然后在MessageBox中显示该字符串。像

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

答案 2 :(得分:0)

在按钮中单击 -

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

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