2010-02-10 43 views
0

将数据(文本)复制到剪贴板,但我要复制到剪贴板的数据长度为30,500,000。 此文本存储在一个StringBuilder中。如何检查剪贴板中的数据集

这些都是可能的代码:

 StringBuilder sbText = new StringBuilder(); 

     // Append text to sbText here!!! 

     Clipboard.SetDataObject(sbText.ToString()); // In this line sbText.Length is equal to 30,500,000. 

这个我试图粘贴数据后,但我不能(粘贴无数据!)。

据我所知,剪贴板大小的限制是基于pc的可用RAM。

有没有办法在剪贴板中复制/粘贴这么多数据而没有错误? 有没有办法检查剪贴板的大小是否不足以执行此操作?

请分享一些光...

+0

为什么数据必须转到剪贴板?你不能将它保存到文件中吗? – Oded 2010-02-10 09:01:41

+0

奥德爵士, 这是一个按Ctrl + A(全选),按Ctrl + C(复制)和Ctrl + V(粘贴)操作,所以认为有必要在剪贴板... – Kuroro 2010-02-10 09:16:10

回答

2

如果你把30MB到剪贴板中,您可能需要寻求其他的地方来存储数据。你能通过它还是从其他需要它的地方访问它?它可以存储在某种形式的临时位置(sql,文件等)并读取/删除?

+0

tsilb先生, 这是场景: - 例如,我有一个包含30,000,000个字符的文本框 - 用户选择所有文本 - 按下Ctrl + C - 打开记事本并手动粘贴。 如果你是说复制的文本可以先存储到临时文件,请教我... 我不认为手动复制的文本可以存储在临时文件中... – Kuroro 2010-02-11 00:50:20

+0

鉴于此新的信息,请参阅我的其他答案。代码在评论中看起来不正确。 – tsilb 2010-02-11 01:17:36