c# – 根据目标自定义复制/粘贴的内容
发布时间:2020-12-15 20:58:35 所属栏目:百科 来源:网络整理
导读:参见英文答案 How to set HTML to clipboard in C#?????????????????????????????????????4个 我注意到许多应用程序根据目标应用程序进行不同的复制和粘贴.例如,如果我在TFS中(在Web界面中)“HTML复制”一个项目: 如果我将它粘贴在记事本中,我会得到类似csv
参见英文答案 >
How to set HTML to clipboard in C#?????????????????????????????????????4个
我注意到许多应用程序根据目标应用程序进行不同的复制和粘贴.例如,如果我在TFS中(在Web界面中)“HTML复制”一个项目: >如果我将它粘贴在记事本中,我会得到类似csv的输出 我试图使用具有不同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 paste Clipboard.SetDataObject(dataObject); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |