您的位置:首页 > 其它

RichTextBox复制一段带格式的Excel的文本内容,粘贴后一定长度后没有\t(制表符)的处理方式

2016-12-20 20:25 676 查看
问题应该在 richtextbox支持了RTF格式造成的,在粘贴时会直接接收复制的内容,这个内容应该会被当成RTF格式来全部接收。

你复制的内容粘贴到其他的软件中也是看不出来的

处理方式:

在入口处处理,也就是richtextbox的KeyDown事件,

代码如下:

private void wRichIn_KeyDown(object sender, KeyEventArgs e)
{
if (e.Control && e.KeyCode == Keys.V)
{
IDataObject dataObj = Clipboard.GetDataObject();
if (dataObj.GetDataPresent(DataFormats.StringFormat))
{
e.Handled = true; //去掉格式文本的格式
var txt = (string)Clipboard.GetData(DataFormats.StringFormat);
Clipboard.Clear();
Clipboard.SetData(DataFormats.StringFormat, txt);
wRichIn.Paste();
}
}
}
主要是将剪贴板中的数据转成字符串

richtextbox的一些其他bug也不少

例如 AutoWordSelect 属性


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐