Я написал приложение с богатым текстом в нем с черным фоном. Поэтому я должен писать в нем, используя белый текст. Все это прекрасно работает, устанавливая белый цвет переднего цвета. Если я, однако, скопирую текст из Word, который является черным в моем текстовом поле, этот текст остается черным.Изменить цвет текста существующего текста
Мне нужно изменить цвет этого текста. Так это то, что я пытался до сих пор: (текстовое поле называется txtMessage)
txtMessage.ForeColor = Color.White;
Это не оказывает никакого влияния на существующий черный текст, хотя.
Тогда я попытался это:
private void txtMessage_TextChanged(object sender, EventArgs e)
{
int s = txtMessage.SelectionStart;
txtMessage.SelectAll();
txtMessage.SelectionColor = Color.White;
txtMessage.Select(s, 0);
}
Это в принципе работает нормально, но, конечно, каждый раз, когда я редактировать текст в текстовом поле (не копировать что-то там, а просто набрав) все это выполняется с каждое письмо, которое я печатаю, в результате мерцает (я думаю, потому что все выбрано, а затем отменено каждый раз).
У кого-нибудь есть предложение, как исправить это элегантно?
спасибо.
Какую версию .NET вы настраиваете? Просто протестирован на VS2010-таргетинге. Клиентский профиль .NEt 4.0 и скопируйте/вставьте черный текст из Word, оставайтесь белым в элементе управления RichTextBox даже с указанным черным фоном и белым цветом. – Sevenate
Самый новый, я думаю. Я использую VS2012, и мой ноутбук довольно новый. – tomet