【发布时间】:2009-05-06 02:23:23
【问题描述】:
在我的程序中单击按钮后 - 应将选定的 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 here 上有类似的主题,不幸的是,在我的案例中,解决方案声明会浪费资源。
【问题讨论】:
标签: c# richtextbox rtf