仅当剪贴板包含文本时启用粘贴按钮
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
我有一个文本框和一个名为 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