VB.NET中调用系统的剪贴板完成数据的复制和粘贴

程序环境: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

详细代码请猛戳: 代码






你可能感兴趣的:(VB.NET)