程序环境:VS2010 设置的复制键:F7 粘贴键:F8
为什么说是共用的剪贴板呢?
因为程序运行后,点击键盘的F7键,完成复制事件。点击F8键可以看到文本被成功的复制过去了,但是如果在桌面上新建一个TXT文档,在里面输入一些内容,复制这些内容那个,再切回到我们的程序,点击F8键,粘贴内容,会发现内容改变了。这是因为在TXT文档中也是调用的System.Windows.Forms.Clipboard,在文档中复制时,剪切板的数据被清除掉了。
下面是代码:
1.主窗体的键盘捕获事件中添加代码;
' 捕获键盘操作
Private Sub Form1_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
If e.KeyCode = Keys.F7 Then
CreateClipBoard(TextBox1.Text)
ElseIf e.KeyCode = Keys.F8 Then
PasteClipBoard()
End If
End Sub
2.如果要成功捕获事件,需要先设置主窗体优先接收键盘事件;
Me.KeyPreview = True ' 主窗体优先捕获键盘
3.方法:将需要复制的数据添加到剪贴板中;
' 拷贝复制数据到粘贴板
Private Sub CreateClipBoard(ByVal CopyText As String)
Clipboard.Clear() ' 清除剪贴板
Clipboard.SetText(CopyText) ' 拷贝数据到粘贴板
End Sub
4.方法:将剪贴板的数据粘贴到指定控件中去;
' 获取粘贴板数据到文本框
Private Sub PasteClipBoard()
TextBox2.Text = Clipboard.GetText()
End Sub
详细代码请猛戳: 代码