Taste 1 mit einem Erreignis verbinden

  • C#
  • .NET 4.5

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von mox.

    Grundsätzlich erstmal im Konstruktor das KeyDown-Event abonnieren und an eine passende void-Methode verweisen:

    C#-Quellcode

    1. public Form1()
    2. {
    3. InitializeComponent();
    4. this.KeyDown += Form1_KeyDown;
    5. }
    6. public void Form1_KeyDown(object sender, KeyEventArgs e)
    7. {
    8. MessageBox.Show(e.KeyData.ToString() +"<->"+ e.KeyCode.ToString() + "<->" + e.KeyValue.ToString());
    9. }

    Da für normale Zahlen und NumPad-Zahlen unterschiedliche Werte übertragen werden, kann man unterscheiden, siehe aufploppende MessageBox

    @Sandro2504: Mit Form1.Show hast Du Dir (nicht nur) bei RfG gleich mal was eingehandelt :whistling:
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Häufig von mir verwendete Abkürzungen: CEs = control elements (Labels, Buttons, DGVs, ...) und tDS (typisiertes DataSet)
    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht in den Spekulatiusmodus gehen.
    Private Sub Form2_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
    If e.Control Then
    Form1.Show()

    Das funktioniert. Aber wie sind die Codes für z.B. die Zahlen vom Numpad? e.NumPad1 funktionert z.b. nicht

    Sandro2504 schrieb:

    VB.NET-Quellcode

    1. Form1.Show
    Fang zunächst mit der Instanziierung und dem Aufruf von Dialogen an.
    Dann poste eine vollständige Aufgabenstellung / Problembescheibung.
    Und sieh Dir an HotKey. 882 Treffer im Forum, einige davon sind seher gut, die kannst Du alleine finden.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    VB-Fragen über PN / Konversation werden ignoriert!
    Ehm, laut Thread-Tag sind wir hier bei C#. @Sandro2504: Post 1 spricht von VB.Net. Vertippt?

    Dann in VB:

    VB.NET-Quellcode

    1. Public Class FrmMain
    2. Private Sub FrmMain_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown
    3. MessageBox.Show(e.KeyCode.ToString & " <> " & e.KeyData.ToString & " <> " & e.KeyValue.ToString)
    4. End Sub
    5. End Class

    einfacher Testcode für eine leere Form. Beim Tastendruck kommen die Infos, die Du brauchst.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Häufig von mir verwendete Abkürzungen: CEs = control elements (Labels, Buttons, DGVs, ...) und tDS (typisiertes DataSet)
    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht in den Spekulatiusmodus gehen.