簡體   English   中英

將文本(推送)添加到文本框或richtextbox?

[英]Add text (push) to textbox or richtextbox?

我正在嘗試創建一個像msn這樣的聊天應用程序。 當我執行“ textBox.Text = textBox.Text + text”時,它將更新文本框,並且不再選擇我選擇的文本。 在MSN中,您可以選擇文本並仍以不同的顏色等接收消息。它們是如何做到的? 我認為它類似於推送消息,也許他們在另一個文本框下創建了一個新的文本框? 有什么線索嗎?

我希望你們知道我在說什么。 我只希望我的文本表現得像以前的MSN一樣,不更新整個文本框,而只是在當前消息下推送新消息,等等。

如果我理解您的問題,您只是希望在將消息附加到RichTextBox時保持選中狀態?

int selectionStart = textBox.SelectionStart;
int selectionLength = textBox.SelectionLength;
int carat = textBox.TextLength;

textBox.Text += Environment.NewLine;
textBox.Text += newText;

//optional styling code for newly appended text
textBox.Select(carat, newText.Length);
textBox.SelectionColor = //value;
//etc.

//reapply original selection
if(selectionStart >= 0 && selectionLength > 0)
{
    textBox.Select(selectionStart, selectionLength);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM