Anahtar kodunu .NET'teki bir keychar'a nasıl dönüştürebilirim? VB.NET içindeAnahtar kod için anahtar kod dönüştür
cevap
:
ChrW(70)
C# size yayınlayabileceğim:
(char) 70
Convert.ToChar(65)
String.fromCharCode (event.keyCode)
Bu, şuna bakarak herkes için .NET değil, Javascript'tir. – x4000
Convert.ToChar (Keys. Girmek);
keys.numpad9 = "i", sanırım eşleşen bir karaktere dönüşmek istiyordu. – dwidel
DaveH'e cevap veremiyorum, ama diyorsa, iyi çalışıyor! Bu insanlar boş değer göndermek için çalışıyorum sahip iyi bir çözüm olduğu tespit
Private Sub StartValue_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles StartValue.KeyPress
If ChrW(13).ToString = e.KeyChar And StartValue.Text = "" Then
StartValue.Text = "0"
End If
End Sub
:
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Public sub harry()
For i = 1 to 255
If Chr(i) = Convert.ToChar(Keys.Enter) Then
Label1.Text &= " [Enter] "
ElseIf Chr(i) = Convert.ToChar(Keys.Delete) Then
Label1.Text &= " [Delete] "
End If
Next i
End Sub
Ve kodlarınızda WinAPI aramanın kullanımı nedir ?! –
Ben anahtar girmek gelen bir tuş saptanmasında oldukça yardımcı olmak için bu parçacık bulundu Metin kutusu. Bu sadece bir 0 zorlar, ancak çalıştırmak için "Enter tuşuna basıldığında" kullanır.
Bunu user32.dll'den bir kütüphane sınıfı kullanarak çözdüm. Bir Framework sınıfını tercih ederim ama bulamadım, bu yüzden bu benim için çalıştı.
Imports System.Runtime.InteropServices
Public Class KeyCodeToAscii
<DllImport("User32.dll")> _
Public Shared Function ToAscii(ByVal uVirtKey As Integer, _
ByVal uScanCode As Integer, _
ByVal lpbKeyState As Byte(), _
ByVal lpChar As Byte(), _
ByVal uFlags As Integer) _
As Integer
End Function
<DllImport("User32.dll")> _
Public Shared Function GetKeyboardState(ByVal pbKeyState As Byte()) _
As Integer
End Function
Public Shared Function GetAsciiCharacter(ByVal uVirtKey As Integer) _
As Char
Dim lpKeyState As Byte() = New Byte(255) {}
GetKeyboardState(lpKeyState)
Dim lpChar As Byte() = New Byte(1) {}
If ToAscii(uVirtKey, 0, lpKeyState, lpChar, 0) = 1 Then
Return Convert.ToChar((lpChar(0)))
Else
Return New Char()
End If
End Function
End Class
ToAscii anahtar işlevdir +1. Ancak, MSDN'deki ifadelere bakın: * ToAscii işlevine sağlanan parametreler, sanal anahtar kodunu çevirmek için yeterli olmayabilir, çünkü önceki bir ölü anahtar, klavye düzeninde saklanır. * Http://msdn.microsoft.com /en-us/library/windows/desktop/ms646316(v=vs.85).aspx --- Ayrıca, bunun yerine ToUnicode kullanmayı düşünün. – peterchen
bu deneyin: İşte
Char.ConvertFromUtf32(e.KeyValue)
Bu yöntem, Shift durumunu dikkate almaz. Örneğin, keycode/value 65, "A" değerini döndürür, ancak basılan anahtar, Shift olmaksızın "a" idi. – Christoph
bir örnek benim tarafımdan :) Bu (diğer tüm cevaplar gibi şimdiye kadar) doğru değil
#region Just for fun :D
private string _lastKeys = "";
private readonly Dictionary<string, string[]> _keyChecker = _
new Dictionary<string, string[]>
{
// Key code to press, msgbox header, msgbox text
{"iddqd", new[] {"Cheater! :-)", "Godmode activated!"}},
{"idkfa", new[] {"Cheater! :-)", "All Weapons unlocked!"}},
{"aAa", new[] {"Testing", "Test!"}},
{"aaa", new[] {"function", "close"}}
};
private void KeyChecker(KeyPressEventArgs e)
{
_lastKeys += e.KeyChar;
foreach (var key in _keyChecker.Keys)
if (_lastKeys.EndsWith(key))
if (_keyChecker[key][0] != "function")
MessageBox.Show(_keyChecker[key][1], _keyChecker[key][0]);
else
KeyCheckerFunction(_keyChecker[key][1]);
while (_lastKeys.Length > 100)
_lastKeys = _lastKeys.Substring(1);
}
private void KeyCheckerFunction(string func)
{
switch (func)
{
case "close":
Close();
break;
}
}
private void FormMain_KeyPress(object sender, KeyPressEventArgs e)
{
KeyChecker(e);
}
#endregion Just for fun :D
Bu cevapta char dönüşümü için anahtar kodu yoktur. – Christoph
- 1. Basit anahtar kutusunun içindeki kod veya deyim
- 2. Kompozit anahtar için yabancı anahtar
- 3. Kod İlk varlık çerçevesindeki DbContext'i Veritabanına Dönüştür
- 4. EF 4.1 Kod İlk Yabancı Anahtar Ekstra sütununu
- 5. EF Kod İlk: Bir yabancı anahtar ilişkisi Add-Entity projeksiyon
- 6. anahtar
- 7. Dışa aktarılabilir özel anahtar içeren sertifikalar için "Hatalı anahtar" istisnası
- 8. VBA Kod dosyasını açmak için kod
- 9. Bu sınıf anahtar resim için anahtar kodlama uyumlu değilViewView
- 10. Java için "Anahtar-Değer Kodlaması"
- 11. Subclipse simgeleri için anahtar
- 12. Swift: Kod,
- 13. anahtar değerlerini
- 14. JSON yanıtından ayrıştırmak ve ayıklamak için kod
- 15. Anahtar deyimi için Jacoco kapsamı
- 16. Mac'imde Xamarin Studio - Anahtar zincirde geçerli bir iPhone kod imzalama anahtarı bulunamadı - Kimlik İmzalama: Özel anahtar eksik
- 17. ... kod
- 18. Asp.net mvc'de bir kayıt için birden çok yabancı anahtar ilişkisi, kod ilk
- 19. Biz anahtar olayı kullanarak anahtar girişi algılayabilir Anahtar Olay
- 20. Aday anahtar, alternatif anahtar, sql'de bileşik anahtar nedir?
- 21. görsel kod birkaç koşullar
- 22. Kıvılcım: (Anahtar, Değer) RDD için (Anahtar, Liste) RDD genişletilmesi
- 23. Bu sınıf anahtar için kodlama uyumlu anahtar değer değil ... tekrar
- 24. Perl Anahtar Bildirimi
- 25. ValidationMessageFormModelError (anahtar, mesaj) ile birlikte. Anahtar nedir?
- 26. Neyi bilmek için kod?
- 27. Oluşturulan kod için kurallar
- 28. Kod biçimlendirmeden kod bölümünü dışlama
- 29. 2 birincil anahtar başvuruyor 1 birincil anahtar
- 30. Javascript varsayılan anahtar kelime
. 'A' capitol için işe yarayabilir, ancak, örneğin, başarısız olur. tuş kombinasyonları ve numpaddeki numaralar için. Olası bir çözüm, Windows Forms'daki 'KeyPress' olayını veya WPF/Silverlight'taki 'TextInput' olayını dinlemektir. –
'Convert.ToChar (190)' (OEMPeriod) kullanımı bana ¾¾ ve '' '' ı beklemiyormuş gibi verdi. – MCattle