
我注意到许多应用程序根据目标应用程序进行不同的复制和粘贴.例如,如果我在TFS中(在Web界面中)“HTML复制”一个项目:
>如果我将它粘贴在记事本中,我会得到类似csv的输出
>如果我将其粘贴到Excel中,我会获得格式良好的行和列
>如果我将其粘贴到Outlook中,我会看到一张漂亮的桌子
我试图使用具有不同TextDataFormat值的Clipboard.SetText(String,TextDataFormat)的多个实例,但是,它们互相覆盖(除了TextDataFormat.Text之外的任何东西似乎都不允许“粘贴”).
到目前为止我尝试了什么:
private static voID Keypressed(KeyEventArgs e,GrIDVIEw grID){ if (e.Control && e.KeyCode == Keys.C) { var textContent = new StringBuilder(); var HTMLContent = new StringBuilder("<table>"); // build content for (int i = 0; i < 10; i++) { HTMLContent.AppendFormat("<tr><td>{0}</td></tr>",i); textContent.AppendFormat("{0}\t",i); } textContent.Length--; // remove last tab HTMLContent.Append("</table>"); // send contents to clipboard Clipboard.Clear(); Clipboard.SetText(textContent.ToString(),TextDataFormat.CommaSeparatedValue); Clipboard.SetText(textContent.ToString(),TextDataFormat.Text); Clipboard.SetText(HTMLContent.ToString(),TextDataFormat.HTML); e.Handled = true; e.SuppressKeyPress = true; }}解决方法 我想你可能只需要以下内容: var dataObject = new DataObject(textContent); // allows data to auto-convert on pasteClipboard.SetDataObject(dataObject);总结
以上是内存溢出为你收集整理的c# – 根据目标自定义复制/粘贴的内容全部内容,希望文章能够帮你解决c# – 根据目标自定义复制/粘贴的内容所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)