C#如何实现复制Txetbox中的内容到粘贴板
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#如何实现复制Txetbox中的内容到粘贴板相关的知识,希望对你有一定的参考价值。
有一个Textbox1和一个Button1,当在Textbox1中输入文本后,点Button1即可复制到系统粘贴板,怎么实现呢。。。
参考技术A 复制:private void button1_Click(object sender, System.EventArgs e)
// Takes the selected text from a text box and puts it on the clipboard.
if(textBox1.SelectedText != ”")
Clipboard.SetDataObject(textBox1.SelectedText);
粘贴:
private void button2_Click(object sender, System.EventArgs e)
// Declares an IDataObject to hold the data returned from the clipboard.
// Retrieves the data from the clipboard.
IDataObject iData = Clipboard.GetDataObject();
// Determines whether the data is in a format you can use.
if(iData.GetDataPresent(DataFormats.Text))
// Yes it is, so display it in a text box.
textBox2.Text = (String)iData.GetData(DataFormats.Text);
主要通过调用Clipborad的API完成。
参考资料:www.ziyuan3.com
参考技术B 用JS实现<script language="javascript" type="text/javascript">
function setTxt()
var t=document.getElementById("txt");
t.select();
window.clipboardData.setData('text',t.createTextRange().text);
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<input name="txt" value="测试">
<input type="button" value="复制" onclick="setTxt()">
</div>
</form>
</body>
</html> 参考技术C Clipboard.SetText(textbox1.text.trim()); //放入剪贴板
//取出:
string str = Clipboard.GetText(); //从剪贴板取出文本内容追问
后面的去空格Trim()有点出错啊,能解决下不。。
追答那就不要调用trim()了。
因为文本框里不输入任何东西的话,调用 trim()就会异常了。
不行啊。。。去了Trim()也出错。。。
追答SetText() 就是这样简单用的,我不知道你的是什么系统
本回答被提问者采纳 参考技术D 在button1的click事件里写textBox1.Select(0, textBox1.Text.Length);
this.textBox1.Copy();
js实现复制内容到粘贴板
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8" /> 5 <title>js复制内容到粘贴板</title> 6 <style> 7 .flex-r { 8 display: flex; 9 flex-direction: row; 10 align-content: center; 11 justify-content: space-between; 12 } 13 .info { 14 max-width: 400px;; 15 margin-bottom: 20px; 16 background-color: bisque; 17 } 18 dl { 19 margin: 0; 20 padding: 0 30px; 21 width: 200px; 22 } 23 .copy{ 24 cursor: pointer; 25 margin: 0 10px; 26 } 27 </style> 28 </head> 29 30 <body> 31 <div class="bank_info"> 32 <div class="flex-r info"> 33 <dl class="flex-r aln-star"> 34 <dt>收款银行:</dt> 35 <dd>建设银行</dd> 36 </dl> 37 <span class="copy" onclick="mmcopy(this)">复制</span> 38 </div> 39 <div class="flex-r info"> 40 <dl class="flex-r aln-start"> 41 <dt>收款账户名:</dt> 42 <dd>张三</dd> 43 </dl> 44 <span class="copy" onclick="mmcopy(this)">复制</span> 45 </div> 46 </div> 47 48 <!--引入jQuery插件 --> 49 <script src="./js/jquery.min.js"></script> 50 <script> 51 function mmcopy(e) { 52 if (document.execCommand("copy")) { 53 var txt = ""; // 需要复制的文字 54 txt += $(e) 55 .siblings("dl") 56 .find("dt") 57 .text(); 58 txt += $(e) 59 .siblings("dl") 60 .find("dd") 61 .text(); 62 const input = document.createElement("input"); // 创建一个新input标签 63 input.setAttribute("readonly", "readonly"); // 设置input标签只读属性 64 input.setAttribute("value", txt); // 设置input value值为需要复制的内容 65 document.body.appendChild(input); // 添加input标签到页面 66 input.select(); // 选中input内容 67 input.setSelectionRange(0, 9999); // 设置选中input内容范围 68 document.execCommand("copy"); // 复制 69 document.body.removeChild(input); // 删除新创建的input标签 70 } 71 } 72 </script> 73 </body> 74 </html>
以上是关于C#如何实现复制Txetbox中的内容到粘贴板的主要内容,如果未能解决你的问题,请参考以下文章
C#中如何动态获取剪贴板中的内容(我想实现如果其中有内容就清空,在C#中不要实现复制,粘贴功能)?