Jak przetestować pod kątem Ctrl w dół w Windows Forms/C#?Test "Ctrl" keydown w języku C#
8
A
Odpowiedz
15
bool ctrl = ((Control.ModifierKeys & Keys.Control) == Keys.Control);
5
Jeśli chcesz, aby wykryć w Naciśnij klawisz obsługi, by spojrzeć na właściwości modyfikatorów:
private void button1_KeyPress(object sender,
System.Windows.Forms.KeyPressEventArgs e)
{
if ((Control.ModifierKeys & Keys.Control) == Keys.Control)
{
MessageBox.Show("Pressed " + Keys.Control);
}
}
Faktycznie, patrząc na to i widząc, że nie korzysta z e
argument, Wydaje się, że tak długo jak twoje "to" pochodzi od Formy lub Kontroli, możesz wykonać to połączenie w dowolnym czasie, a nie tylko w procedurze obsługi zdarzeń klawiatury.
Jednakże, jeśli chce zapewnić połączenie, takie jak Ctrl - został wciśnięty, byś potrzebował dodatkowej logiki.
private void myKeyPress(object sender,
System.Windows.Forms.KeyPressEventArgs e)
{
if (((Control.ModifierKeys & Keys.Control) == Keys.Control)
&& e.KeyChar == 'A')
{
SelectAll();
}
}
1
Dodawanie późną odpowiedź na starej pytanie ...
innych odpowiedzi odczytać stan klawisza sterującego prąd. Jeśli chcesz bezpośrednio odczytać flagę sterowania z podjętych args zdarzenia (czyli jak to było w czasie, gdy nastąpiło zdarzenie), użyj KeyUp
lub KeyDown
zdarzenia (nie KeyPress
):
private void HandleTextKeyDown(object sender, KeyEventArgs e)
{
if (e.Control && e.KeyCode == Keys.A)
{
((TextBox)sender).SelectAll();
e.Handled = true;
}
}
Powiązane problemy
- 1. Jak wysłać ctrl + c do procesu w języku C#?
- 2. Klucze zdarzeń Multimedialne C# KeyDown oraz ControlKey
- 3. Jak wykryć NumberDecimalSeparator w zdarzenie KeyDown (C#)
- 4. Test jednostki debugowania w języku C przy użyciu funkcji sprawdzania
- 5. Wykrywanie CTRL + C w node.js
- 6. Ctrl + Backspace w Delphi Kontroluje
- 7. Uchwyt CTRL-C w module cmd Python
- 8. Ctrl-C nie działa z PyQt
- 9. Test współczynnika wiarygodności w języku Python
- 10. Formularze nie odpowiadające zdarzeniom KeyDown
- 11. Jak mogę złapać zdarzenie ctrl-c? (C++)
- 12. Wysyłanie ctrl-c do konkretnej sesji ekranowej
- 13. Umożliwianie Ctrl-C przerywania pythonowego rozszerzenia C
- 14. Jak napisać handler Ctrl-C w Haskell?
- 15. Ctrl + C w aplikacji konsoli dart
- 16. Jak wysłać "Ctrl + c" w Sikuli?
- 17. Ekwiwalent ctrl c w poleceniu anulowania programu
- 18. Jak wysłać ctrl + z w C
- 19. Test jednostki C++ w Visual Studio 2012
- 20. Zdarzenie Concap KeyDown (klucze) do jednego ciągu C# (wpf)
- 21. Test jednostek C# [TestInitialize]
- 22. C# - Test jednostkowy, makiety?
- 23. Osadzony: C Kodowanie przerwań Ctrl-C w terminalu u-boot
- 24. Dlaczego słuchacz keydown nie działa w IE
- 25. Równoważnik obiecywania w języku C#
- 26. C# test jednostkowy, jak przetestować więcej niż
- 27. Keycode na zdarzenie keydown
- 28. jQuery $ (dokument) .keydown() problemy
- 29. `PROCESSENTRY32W` w języku C#?
- 30. DateTime W języku C#