Вам либо нужно вызывать Windows API, либо нет - и я не уверен, что из вашего вопроса вы понимаете, что означает использование DLL / вызов Windows API. User32.dll - это часть окна, и вызов функции внутри нее на самом деле требует, чтобы окна выполнили функцию за вас. Вы хотите заменить функцию или просто преобразовать вызов в vb.net?
Если вам нужно всего лишь преобразовать вызов в vb.net, вы можете использовать PInvoke вызов Windows API.
вот пример с этой страницы:
<DllImport("user32.dll", SetLastError := True, CharSet := CharSet.Unicode)> _
Private Function GetKeyState (ByVal nVirtKey As KeyStates) As Short
End Function
Imports System.Windows.Forms
Public Class MinhaNovaTextbox
Inherits System.Windows.Forms.TextBox
Dim bInserting As Boolean = True
Private Declare Function GetKeyState _
Lib "user32" (ByVal nVirtKey As Short) As Integer
Public Sub New()
MyBase.New()
bInserting = GetKeyState(Keys.Insert)
End Sub
Protected Overrides Sub OnKeyPress(ByVal e As System.Windows.Forms.KeyPressEventArgs)
bInserting = GetKeyState(Keys.Insert)
If Not bInserting Then
Me.SelectionLength = 1
End If
MyBase.OnKeyPress(e)
End Sub
End Class