我正在做一个聊天客户端,目前我有一个按钮,当点击它时,它会将数据显示到一个多行文本框中。这是向多行文本框添加数据的唯一方法吗?我觉得这是非常低效的,因为如果对话变得很长,字符串也会变得很长。
private void button1_Click(object sender, EventArgs e)
{
string sent = chatBox.Text;
displayBox.Text += sent + "\r\n";
}
6条答案
按热度按时间gjmwrych1#
如果您使用WinForms:
请改用
TextBox
上的AppendText(myTxt)
方法(.net 3.5+):文本本身通常占用的内存很小(比如10kb内的很多内容都是空的)。TextBox并不渲染缓冲区中的所有文本,只渲染可见部分,所以你不必太担心延迟。较慢的操作是插入文本。追加文本相对较快。
如果你需要一个更复杂的内容处理,你可以使用
StringBuilder
和文本框的组合,这将给予你一个非常有效的文本处理方式。jljoyd4f2#
方法如下
1.从代码(你提到的方式)-〉
或
1.从UI
a)WPF
在文本框中按Enter键,将创建新行
B)Winform文本框
oxiaedzo3#
我发现这种方法节省了大量的打字,并防止了大量的错别字。
iqjalb3h4#
我使用这个函数来保持最新的在顶部:
将输出以下内容:
au9on6nz5#
因为你还没有指定你使用的前端(GUI技术),所以很难给出具体的建议。在WPF中,你可以创建一个列表框,并为聊天的每一个新行添加一个新的列表框项到集合的末尾。这个link提供了一些建议,告诉你如何在winforms环境中获得同样的结果。
4zcjmb1e6#
C# -序列数据是
TextBox
中的ReceivedEventHandler
。现在Visual Studio删除了我的行。当然,TextBox打开了所有正确的选项。
序列号: