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中的内容到粘贴板的主要内容,如果未能解决你的问题,请参考以下文章

如何复制vim编辑器中的内容粘贴到另一个终端的编辑器里

C#中如何动态获取剪贴板中的内容(我想实现如果其中有内容就清空,在C#中不要实现复制,粘贴功能)?

实现复制文本到粘贴板

js 如何实现将div内的内容放到剪切板?

C#实现自动按下Ctrl+C,或者实现自动复制Datagridview的内容到剪切板也行。

C#关于复制粘贴的功能,请高手帮忙解决~~~歇息。