2

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

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

        }
    }
}
4

3 回答 3

8

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

StringBuilder message = new StringBuilder();
foreach (object selectedItem in listBox1.SelectedItems)
{
    message.AppendLine(selectedItem.ToString());
}
MessageBox.Show(message.ToString());
于 2013-02-26T08:45:16.840 回答
2

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

string str = string.Join(",",
                        listBox1.SelectedItems.Cast<object>().Select(r => r.ToString()));
MessageBox.Show(str);
于 2013-02-26T08:47:20.930 回答
0

在您的按钮中单击 -

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

        textBox1.Text = str;
        MessageBox.Show(str);
于 2013-02-26T08:45:40.407 回答