@Nofear23m Jou. @Uchi-Komi Das eigentliche Problem besteht darin, dass jeder Anfänger glaubt, sein compilierender Code wäre fehlerfrei. Ich zitiere mal meinen Freund S.L.:Zitat: „Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch “
Zitat von Uchi-Komi: „Weil jedes NumericUpDown1 m.E. einen anderen Rechengang aufrufen muss.“4 Zahlen führen zu einem Ergebnis, das muss unabhängig davon sein, in welcher Reihenfolge die Werte geändert werden!
Zitat von Uchi-Komi: „wenn ich dem jeweiligen NumericUpDown seinen Rechenweg vorschreibe, dann erspare ich mir die komplizierte Programmierung und das Denken.“Eher das Gegenteil.
Zitat von zorroot: „Nicht umsetzbar in Programmcode.“Doch schon. @Uchi-Komi Zunächst kannst Du verhindern, dass sich die NUD-Werte ändern, wenn sich Parameter ändern, trenne Daten und GUI. Nimm die NUD-Werte, packe sie in Variablen, rechne mit den VAriablen, und wenn Du fertrig bist, schaltest Du die Eventhandler aus, uipdatest die NUDs und schaltest die Eventhandler wieder ein (einfach ein Boolean Flag, das dafür sorgt, das der Eventhandler ausgeführt wird).
Zitat von zorroot: „Ein neuer Netto oder ein neuer Brutto Wert ?“In diesem Fall wäre Brutto neu zu berechnen, denn Brutto ist Netto + Mehrschweinchensteuer. Du als normaler Ladeneinkäufer oder als Geschäftseinkäufer solltest das wissen. Anderenfalls wäre die Aufgabenstellung falsch.
@Uchi-Komi Das mit dem Erlauben und Verbieten der Eventhandler kannst Du dann natürlich im Code selbst machen, ohne jedes Mal eine CheckBox zu bemühen, direkt im Eventhandler (Pseudocode): Quellcode (7 Zeilen)
Zitat von Uchi-Komi: „um meine bescheidene Aufgabe kümmert“Mir war wichtig, dass Du nicht in eine falsche Ecke geschubst wirst, da bin ich halt eingeschritten. Und ins Wasser schmeißen ohne eine Hand hinzuhalten mach ich auch nicht.
Zitat von Uchi-Komi: „'Variante 2 funktioniert nicht“Wie äußert sich das Nicht-Funktionieren? ==== StattZitat von Uchi-Komi: „VB.NET-Quellcode (1 Zeile)“machst DuVB.NET-Quellcode (1 Zeile)da kannst Du in das ToString() sogar noch Formatanweisungen schreiben:VB.NET-Quellcode (1 Zeile)
Zitat von Uchi-Komi: „"Der Wert für eine Decimal war zu groß oder zu klein."“Setz da nen Haltepunkt drauf und sieh Dir diesen Wert sowie .Minimum und .Maximum des NUD an. Sind alle diese Werte sinnvoll?
Zitat von Uchi-Komi: „Nach Programmstart kommt sofort die Fehlermeldung.“Dann musst Du das Flag so einrichten, dass bei Programmstart die Routine nicht durchgeführt wird, sondern erst nach vollständiger Initialisierung aller Controls.