1. 首页 > 电脑教程 > C#调用剪贴板后清空的问题Clipboard.Clear()解决方案

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

在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);冒似就不会出现剪贴内容重复的问题了。

声明:希维路由器教程网提供的内容,仅供网友学习交流,如有侵权请与我们联系删除,谢谢。ihuangque@qq.com
本文地址:https://www.ctrlcv.com.cn/diannao/169323122410582.html