Cómo subrayar selectivamente las cadenas en RichTextBox?
En mi programa después de hacer clic en el botón: las entradas de ListView seleccionadas deben copiarse en RichTextBox. ListView contiene información de contacto, y el efecto que quiero lograr es similar al de Oultook (al elegir contactos de la libreta de contactos). Parte de mi código que sirve para este propósito se ve así:
private void toButton_Click(object sender, EventArgs e)
{
int start = 0;
for (int i = 0; i < contactsListView.SelectedItems.Count; i++)
{
if (contactsTextBox.TextLength != 0) contactsTextBox.Text += "; ";
start = contactsTextBox.TextLength;
contactsTextBox.Text += contactsListView.SelectedItems[i].Text + " " + contactsListView.SelectedItems[i].SubItems[1].Text + " [" + contactsListView.SelectedItems[i].SubItems[2].Text + "]";
contactsTextBox.Select(start, contactsTextBox.TextLength);
contactsTextBox.SelectionFont = new Font(contactsTextBox.SelectionFont, FontStyle.Underline);
contactsTextBox.DeselectAll();
contactsTextBox.SelectionFont = new Font(contactsTextBox.SelectionFont, FontStyle.Regular);
}
}
Desafortunadamente, FontStyle de alguna manera se hereda de todo el texto y todo lo que ingreso después de la entrada de ListView también está subrayado.
Así que mi pregunta es: ¿cómo subrayar solo cierto texto (donde he cometido un error)?
Hay un tema similar en stackoverflowaqu desafortunadamente en mi caso, la solución indicó que habrá desperdicio de recursos.