RichTextBox - 即使在粘贴后也保留原始格式(字体)

2024-01-05

我需要使用 RichTextBox,而不是普通的文本框,因为它保持插入符位置的方式,从一行到另一行。但即使粘贴了文本,我也需要始终保持相同的字体。

目前,我让它选择整个文本并将字体更改为原始字体(Lucida 控制台),但当您粘贴到其中时,它看起来很糟糕,因为它闪烁蓝色。


如果您以编程方式处理粘贴,请勿使用Paste http://msdn.microsoft.com/en-us/library/system.windows.forms.textboxbase.paste.aspx方法。而是使用 Clipboard.GetDataObject().GetData(DataFormats.Text) 获取字符串中的文本,然后使用 Rtf 或 Text 属性将文本添加到 RichTextBox:

string s = (string)Clipboard.GetDataObject().GetData(DataFormats.Text);
richTextBox.Text += s;

Otherwise you could handle the Ctrl+V key press:

void RichTextBox1_KeyDown(object sender, KeyEventArgs e)
{
    if(e.Control == true && e.KeyCode == Keys.V)
    {
        string s = (string)Clipboard.GetDataObject().GetData(DataFormats.Text);
        richTextBox.Text += s;
        e.Handled = true; // disable Ctrl+V
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

RichTextBox - 即使在粘贴后也保留原始格式(字体) 的相关文章

随机推荐