我有一个从文本框条目填充的列表框。
{
textBox2.Text.Replace("\r\n", "\r");
listBox1.Items.Add(textBox2.Text);
}
发生的事情是文本框以单列格式填充,当它移动到列表框时\ r \ n更改为黑色方块,并填充与文本框中显示的相同。
答案 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”。没有黑色方块。