C#文本框到列表框

时间:2009-12-28 14:32:58

标签: c#

我有一个从文本框条目填充的列表框。

{
        textBox2.Text.Replace("\r\n", "\r");
        listBox1.Items.Add(textBox2.Text);
    }

发生的事情是文本框以单列格式填充,当它移动到列表框时\ r \ n更改为黑色方块,并填充与文本框中显示的相同。

4 个答案:

答案 0 :(得分:6)

您可能希望改为使用字符串Split

string[] items = Regex.Split(textBox2.Text, "\r\n");
listBox1.Items.AddRange(items);

答案 1 :(得分:3)

listBox1.Items.Add(textBox2.Text.Replace("\r", "").Replace("\n", ""));

答案 2 :(得分:0)

以防这对任何人都有帮助。

如果您希望文本框中的所有文本都是单个项目,而不是每行文本都是单独的项目。你可以自己画画。

示例:

    public Form1()
    {
        InitializeComponent();
        listBox1.DrawMode = DrawMode.OwnerDrawVariable;
        listBox1.DrawItem += new DrawItemEventHandler(listBox1_DrawItem);
        listBox1.MeasureItem += new MeasureItemEventHandler(listBox1_MeasureItem);      
    }

    void listBox1_MeasureItem(object sender, MeasureItemEventArgs e)
    {
        e.ItemHeight = (int)e.Graphics.MeasureString(textBox1.Text, listBox1.Font).Height;
    }

    void listBox1_DrawItem(object sender, DrawItemEventArgs e)
    {
        e.DrawBackground();
        e.DrawFocusRectangle();
        e.Graphics.DrawString(textBox1.Text, listBox1.Font, Brushes.Black, e.Bounds);
    }


    private void button1_Click(object sender, EventArgs e)
    {
        listBox1.Items.Add(textBox1);
    }

答案 3 :(得分:0)

您希望列表框显示换行符('\ r \ n')吗? 您希望文本在列表框中显示为一行,还是为值00028,00039等显示单独的行。?

顺便说一下,当我测试时,我的列表框中只有数字,而不是“\ r \ n”。没有黑色方块。