Или придется обходиться дедовским
- Код: Выделить всё
Private Declare Function GetKeyboardLayoutName Lib "user32" Alias "GetKeyboardLayoutNameA" (ByVal pwszKLID As String) As Long
GetKeyboardLayoutName(Label1.Text)
Private Declare Function GetKeyboardLayoutName Lib "user32" Alias "GetKeyboardLayoutNameA" (ByVal pwszKLID As String) As Long
GetKeyboardLayoutName(Label1.Text)
MIT писал(а):А чем тебе не нравиться WinAPI? Ведь работает же.
<DllImport("user32.dll")> _
Private Shared Function GetKeyboardLayoutName(<Out> pwszKLID As StringBuilder) As Boolean
End Function
MsgBox(InputLanguage.CurrentInputLanguage.LayoutName)
Private Sub Form1_InputLanguageChanged(ByVal sender As Object, ByVal e As InputLanguageChangedEventArgs) Handles Me.InputLanguageChanged
Dim messageBoxVB As New System.Text.StringBuilder()
messageBoxVB.AppendFormat("{0} = {1}", "InputLanguage", e.InputLanguage)
messageBoxVB.AppendLine()
messageBoxVB.AppendFormat("{0} = {1}", "Culture", e.Culture)
messageBoxVB.AppendLine()
messageBoxVB.AppendFormat("{0} = {1}", "CharSet", e.CharSet)
messageBoxVB.AppendLine()
MessageBox.Show(messageBoxVB.ToString(), "InputLanguageChanged Event")
End Sub
Nord777 писал(а):И нафиг изголяться? Народ еще не привык, что в .Net уже многое есть?
можно такМожно эдак
- Код: Выделить всё
MsgBox(InputLanguage.CurrentInputLanguage.LayoutName)
Protected Overrides Sub OnKeyDown(ByVal e As System.Windows.Forms.KeyEventArgs, ByVal rowIndex As Integer)
Dim symb As Char
If InputLanguage.CurrentInputLanguage.Culture.LCID = 1033 Then symb = Chr(e.KeyCode)
If InputLanguage.CurrentInputLanguage.Culture.LCID = 1049 Then
If e.KeyCode = 65 Then symb = "Ф"
If e.KeyCode = 66 Then symb = "И"
If e.KeyCode = 67 Then symb = "С"
If e.KeyCode = 68 Then symb = "В"
If e.KeyCode = 69 Then symb = "У"
If e.KeyCode = 70 Then symb = "А"
If e.KeyCode = 71 Then symb = "П"
End If
MyBase.DataGridView.CurrentCell.Value += symb
End Sub
Есть. Событие KeyPress.Может в .net есть какая-то функция которая переводит коды клавиш учитывая текущую раскладку клавиатуры?
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 105