VB.Net-当用户点击表单外部但未最小化时进行检查



我正试图在VB.NET表单中创建一个复制粘贴实用程序,在该实用程序中,我可以从任何位置选择文本,将其拖动到文本框中,然后将其作为纯文本自动复制到剪贴板。我想设置它,这样当窗口打开并点击关闭时,这一行就会被执行:

CopyBox.SelectAll()

但我尝试过的活动都没有成功。我尝试过使用MyBase.LostFocus、MyBase.Leave、MyBase.Deactivate,但当我在表单外单击时,它们都不会被激发。如果我最小化表单,它们会起作用,但这没有帮助。有办法做到这一点吗?

在鼠标按下事件中,检查光标相对于窗体的位置。如果光标在外部,只需执行所需的函数。

根据我的意见

Declare Auto Function GetAsyncKeyState Lib "user32.dll" (ByVal vKey As Long) As Short
While True
  If GetAsyncKeyState(1) <> 0 Then
        MsgBox("click")
  End If
  System.Threading.Thread.Sleep(150) 
End While

您是否尝试过'form'本身的Deactivate事件而不是文本控件?

最新更新