Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von Programmierfreund
Thema: Enter-Taste und Button mit Maus drücken wirkt unterschiedlich
Am im Forum: Rund um die Programmierung

Dank deiner Hilfe habe ich es nun folgendermaßen gelöst. Ich habe für den Infotext ("Fehlermeldung") einen extra Button erstellt.


private void btn_hilfe_Click(object sender, EventArgs e)
        {
            MessageBox.Show("Laut der Liste Wareneingangsprüf - Tabellen ist keine höhere Stückzahl als 35000 Stück vorgesehen.");
        }
Die Minimum- und Maximumwerte habe ich jetzt im Konstruktor definiert und nicht in der Methode num_weMenge_ValueChanged(object sender, EventArgs e).
Und für das Hauptprogramm habe ich nun eine extra Methode geschaffen.


private void btn_start_Click(object sender, EventArgs e)
        {
            hauptprogramm();
        }
Das mit dem AcceptButton muss ich mir nochmal genauer anschauen, aber wäre sowieso wieder ein neues Thema.
Das hat mir wirklich weitergeholfen, vielen Dank!

Thema: Enter-Taste und Button mit Maus drücken wirkt unterschiedlich
Am im Forum: Rund um die Programmierung

Ich habe das Maximum wie folgt festgelegt:


private void num_weMenge_ValueChanged(object sender, /*KeyPressEventArgs e*/  EventArgs e)
        {
            num_weMenge.Maximum = 35000;
            num_weMenge.Minimum = 2;
            btn_start_Click(sender, e);
        }

Allerdings wollte ich für den Anwender eine Info anzeigen, damit keine Missverständnisse entstehen. Dazu habe ich innerhalb der Button Methode folgendes geschrieben:


losgroesse = Convert.ToInt32(num_weMenge.Text);

            if (losgroesse > 35000)
            {
                losgroesse = 35000;
                num_weMenge.Text = losgroesse.ToString();
                MessageBox.Show("Laut der Liste Wareneingangsprüf - Tabellen ist keine höhere Stückzahl als 35000 Stück vorgesehen. Der Stichprobenumfang wurde für die Stückzahl 35000 ermittelt.");
            }

Zitat
Ansonsten: wie reagiert dein Code denn auf die Enter-Taste?
Ich hoffe, ich habe die Frage richtig verstanden. Wenn ich die Enter-Taste drücke, bin ich bis jetzt der Meinung, dass der Button gedrückt und damit das Programm neu durchlaufen werden sollte. Also sollte es keinen Unterschied machen, ob ich die Enter-Taste drücke und den Butto mit der Maus betätige.
Komischerweise gilt dies auch erst ab dem zweiten durchlauf. Wenn ich das Programm starte sind alle Felder in der Ausgangssituation und ab dem zweiten Mal sind die Werte des ersten Vorgangs noch drinnen. Ich habe extra eine Taste wie "clear" oder "zurücksetzen" weggelassen, um das Programm für den Anwender einfach und schnell bedienbar zu machen.

Thema: Enter-Taste und Button mit Maus drücken wirkt unterschiedlich
Am im Forum: Rund um die Programmierung

Hallo,
ich bin recht neu im Programmiergame und habe hier ein Problem, dass ich nicht so ganz verstehe.
in meinem Programm soll keine zahl über 35000 als Eingabe im NumericUpDown (als alternative zur Textbox) akzeptiert werden
Stattdessen soll eine Fehlermeldung kommen. Wenn ich das Programm starte und die eine Ausführung starte, funktioniert das auch einwandfrei.
Allerding ab dem zweiten Durchlauf des Programms bei veränderter Zahl, macht das Programm einen Unterschied, ob ich die Enter-Taste auf der Tastatur drücke oder
ob ich mit der Maus auf den Button drücke. Nur Wenn ich die Enter-Taste drücke kommt die Fehlermeldung.
Ich verstehe das nicht so ganz, weil in beiden Fällen die gleiche Methoden aufgerufen werden. (Oder nicht?)

Ich habe die Vermutung, dass es mit dem EventArgs zusammenhängt und wollte auch schon KeyEventArgs schreiben, aber die anderen Methoden die darauf verweisen blockieren die Ausführung.

Wäre für hilfe dankbar.


        private void btn_start_Click(object sender, EventArgs e)
        {
            ...
        }