0

msn のようなチャット アプリケーションを作成しようとしています。「textBox.Text = textBox.Text+text」を実行すると、テキストボックスが更新され、選択したテキストが選択されなくなります。MSN では、テキストを選択していても、さまざまな色でメッセージを受け取ることができます。どのように行うのですか? プッシュメッセージのようなものだと思いますが、別のテキストボックスの下に新しいテキストボックスを作成するのでしょうか? 手がかりはありますか?

私がここで話していることを皆さんが知っていることを願っています。テキストボックス全体を更新するのではなく、現在のメッセージの下に新しいメッセージをプッシュするだけで、MSNが行っていたようにテキストを動作させたいだけです.

4

1 に答える 1

0

あなたの質問を理解できれば、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);
}
于 2013-09-23T20:12:45.597 に答える