西西软件园多重安全检测下载网站、值得信赖的软件下载站!
软件
软件
文章
搜索

首页编程开发C#.NET → C# 调用剪贴板后清空的问题Clipboard.Clear()解决方案

C# 调用剪贴板后清空的问题Clipboard.Clear()解决方案

相关软件相关文章发表评论 来源:本站整理时间:2010/11/29 14:40:04字体大小:A-A+

作者:佚名点击:509次评论:1次标签: Clipboard 剪贴板

  • 类型:抓图工具大小:4.8M语言:中文 评分:7.5
  • 标签:
立即下载

在C#中我用Clipboard.Clear(),清空了剪贴板,可是我复制几次之后,剪贴板上的内容也会复制好几次呢。求教,多谢!

private void button2_Click(object sender, EventArgs e)
{
Clipboard.Clear();
for (int i = 0; i < listBox1.Items.Count; i++)
{

s += listBox1.Items[i].ToString() + '\n';

}

try
{

Clipboard.SetDataObject(s, true, 1, 9999);


}
catch (Exception ex)
{
MessageBox.Show("出错了:{0}",ex.Message);
}
finally { MessageBox.Show("已复制!"); }

回答一、把你的s声明放到方法里面去,我的理解是s没有释放,所以上次复制的内容会残留在s中,所以你在复制时,s的变量执行的是上次的数据+你复制的数据,因此你的复制结果是越来越多。而你虽然清空了剪贴板,但是两次的数据又会重新被你放到了剪贴板中,因此出现了所说的现象。

回答二、同意楼上,而且你把s的释放动作和剪切版清空的动作放到finally里面最好。

上面的回答没有测试过,不过我是把Clipboard.SetDataObject(s, false);冒似就不会出现剪贴内容重复的问题了。

    相关评论

    阅读本文后您有什么感想? 已有人给出评价!

    • 8 喜欢喜欢
    • 3 顶
    • 1 难过难过
    • 5 囧
    • 3 围观围观
    • 2 无聊无聊

    热门评论

    最新评论

    发表评论 查看所有评论(1)

    昵称:
    表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲
    字数: 0/500 (您的评论需要经过审核才能显示)