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

详细代码请猛戳: 代码






  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
调用 Windows API 可以在 VB6 和 VB.NET 实现。下面是一个简单的例子来展示如何在 VB6 和 VB.NET 使用 Windows API。 VB6使用 Windows API: 在 VB6 ,可以使用 Declare 语句来引用 Windows API 函数。下面是一个使用 Windows API 获取系统时间的例子: ``` Private Declare Function GetSystemTime Lib "kernel32" (lpSystemTime As SYSTEMTIME) As Long Private Type SYSTEMTIME wYear As Integer wMonth As Integer wDayOfWeek As Integer wDay As Integer wHour As Integer wMinute As Integer wSecond As Integer wMilliseconds As Integer End Type Private Sub Command1_Click() Dim st As SYSTEMTIME GetSystemTime st MsgBox "Current time is " & st.wHour & ":" & st.wMinute & ":" & st.wSecond End Sub ``` VB.NET使用 Windows API: 在 VB.NET ,可以使用 DllImport 属性来引用 Windows API 函数。下面是一个使用 Windows API 获取系统时间的例子: ``` Imports System.Runtime.InteropServices Public Class Form1 <DllImport("kernel32.dll")> Private Shared Function GetSystemTime(ByRef lpSystemTime As SYSTEMTIME) As Integer End Function <StructLayout(LayoutKind.Sequential)> Private Structure SYSTEMTIME Public wYear As Short Public wMonth As Short Public wDayOfWeek As Short Public wDay As Short Public wHour As Short Public wMinute As Short Public wSecond As Short Public wMilliseconds As Short End Structure Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim st As SYSTEMTIME GetSystemTime(st) MessageBox.Show("Current time is " & st.wHour & ":" & st.wMinute & ":" & st.wSecond) End Sub End Class ``` 以上是一个简单的例子,展示了如何在 VB6 和 VB.NET 使用 Windows API。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值