如题,正在写一个脚本,需要保存一个字符串数组到剪贴板,然后再从剪贴板拿过来用,不知可以实现否?

解决方案 »

  1.   

    楼上说的再详细点吧,Clipboard.SetDataObject(new string[]{"1","2","3"}),
    然后怎么拿出来用哪,
    IDataObject iData = Clipboard.GetDataObject();
    if ( iData.GetDataPresent ( DataFormats.StringFormat ) ) 
    {
                string[] s = (string[])iData.GetData ( DataFormats.StringFormat ) ; 
                for(int i = 0; i < s.Length; i++)
        {
    ...
        };
    }
    这样用可以吗?
      

  2.   

    利用Clipboard类实现数据的复制(剪切)和粘贴
      

  3.   

    感谢dylike,该页讲的内容使用vb实现的,c#类似,我试验成功,在此总结一下:
    粘贴多种格式的方法首先创建你要粘的对象实例,比如String[,] s = new String[10,10];
    然后需要创建Formate对象实例,DataFormats.Format myFormat = DataFormats.GetFormat("myFormat");这个相当于暗号,在将来拿该对象时通过该格式名检索剪贴板。
    然后创建DataObject对象包装myFormat:DataObject myDataObject = new DataObject(myFormat.Name,s);
    最后将DataObject放入Clipboard:Clipboard.SetDataObject(myDataObject);粘贴的时候操作如下:
    创建IDataObject对象实例:IDataObject myRetrievedObject = Clipboard.GetDataObject();
    拿出内容并显示转换为你需要的类型:String[,] myDereferencedObject = (String[,])myRetrievedObject.GetData("myFormat");