我正在尝试在 VB.NET 表单中创建一个复制粘贴实用程序,我从任何地方选择文本,将其拖到文本框,然后它会自动以纯文本形式复制到剪贴板。我希望它设置,以便当窗口打开并单击它时,执行此行:
CopyBox.SelectAll()
但是我尝试过的所有事件都没有奏效。我尝试过使用 MyBase.LostFocus、MyBase.Leave、MyBase.Deactivate,但是当我在表单外单击时,它们都不会被触发。如果我最小化表单,它们就可以工作,但这没有帮助。有没有办法做到这一点?
在鼠标 Keydown 事件中,检查光标相对于表单的位置。如果它在外面,只需执行所需的功能。
根据我的评论
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
您是否尝试过“表单”本身的停用事件而不是文本控件?