我正在做一个聊天客户端,目前我有一个按钮,当点击时,它会将数据显示到多行文本框中。这是向多行文本框添加数据的唯一方法吗?我觉得这是非常低效的,因为如果对话变得很长,字符串也会变得很长。
private void button1_Click(object sender, EventArgs e)
{
string sent = chatBox.Text;
displayBox.Text += sent + "\r\n";
}
发布于 2012-11-10 15:48:46
如果您使用WinForms:
请改用TextBox
上的AppendText(myTxt)
方法(.net 3.5+):
private void button1_Click(object sender, EventArgs e)
{
string sent = chatBox.Text;
displayBox.AppendText(sent);
displayBox.AppendText(Environment.NewLine);
}
文本本身通常具有较低的内存占用(您可以在f.ex中说很多话。10kb,表示“无”)。TextBox不会呈现缓冲区中的所有文本,只呈现可见部分,因此您不需要太担心延迟。较慢的操作是插入文本。附加文本的速度相对较快。
如果需要更复杂的内容处理,可以结合使用StringBuilder
和textbox。这将为您提供一种非常有效的文本处理方式。
发布于 2018-02-23 23:05:06
我发现这种方法节省了大量的输入,并防止了大量的打字错误。
string nl = "\r\n";
txtOutput.Text =“第一行”+ nl +“第二行”+ nl +“第三行”;
发布于 2012-11-10 11:35:32
因为您还没有指定您正在使用的前端(GUI技术),所以很难做出具体的推荐。在WPF中,您可以创建一个列表框,并为每一行聊天添加一个新的listboxitem到集合的末尾。这篇link提供了一些关于如何在winforms环境中实现相同结果的建议。
https://stackoverflow.com/questions/13318561
复制相似问题