在我的程序中单击按钮后 - 应将选定的 ListView 条目复制到 RichTextBox。ListView 包含联系人信息,我想要完成的效果类似于 Oulook 中的效果(从通讯录中选择联系人时)。用于此目的的部分代码如下所示:
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);
}
}
不幸的是,FontStyle 以某种方式被整个文本继承,我从 ListView 输入后输入的所有内容也都带有下划线。
所以我的问题是 - 如何仅在某些文本下划线(我犯了错误)?
不幸的是,在我的案例解决方案中,stackoverflow 上有类似的主题,说明会浪费资源。