仅当剪贴板包含文本时启用粘贴按钮

Enable paste button only when the clipboard contains text

我有一个文本框和一个名为 Paste 的按钮。

我只想在剪贴板包含文本时启用此按钮,而在不包含文本时禁用它。

我试着写了这段代码:

If My.Computer.Clipboard.ContainsText Then
    Button7.Enabled = True
Else : Button7.Enabled = False
End If

我正在使用 vb 2010,我将此代码放在与 Button7 相关的所有命令下 但没有用。

我怎样才能让它工作,就在我 select 来自任何其他应用程序的文本并单击复制时,它来自 不用重启程序就可以禁用启用?

您可以每隔 X 秒或毫秒调用一个过程,方法是使用 Timer 检查剪贴板是否包含文本。

像这样

Public Class Form1

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

    Dim CheckClipboard As New CallEveryXSeconds(1000) ' 1000 ms = 1 sec 
    CheckClipboard.Start()

End Sub

End Class


Public Class CallEveryXSeconds

Private WithEvents myTimer As New System.Windows.Forms.Timer

Public Sub New(TickValue As Integer)
    myTimer = New System.Windows.Forms.Timer
    myTimer.Interval = TickValue
End Sub

Public Sub Start()
    myTimer.Start()
End Sub

Private Sub Tick() Handles myTimer.Tick
    Procedure()
End Sub

Private Sub Procedure()
    If Clipboard.ContainsText Then
        Form1.Button7.Enabled = True
    Else
        Form1.Button7.Enabled = False
    End If
End Sub

End Class