Laden...

Zahlen aus Textbox auslesen, zusammenrechnen und in Textbox anzeigen

Erstellt von hasan vor 7 Jahren Letzter Beitrag vor 7 Jahren 2.282 Views
H
hasan Themenstarter:in
1 Beiträge seit 2017
vor 7 Jahren
Zahlen aus Textbox auslesen, zusammenrechnen und in Textbox anzeigen

Beschreibung:
Hallo. Ich arbeite mit Visual Studio und habe ein Programm geschrieben, wo sich Produkte nach dem man Sie geklickt hat zusammen addieren sollen in einem textBox. Ich weis aber nicht wie ich den Befehl gebe.
Kann mit bitte einer helfen?


<using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Online_Shop
{
    public partial class Einkaufen : Form
    {
        public Einkaufen()
        {
            InitializeComponent();
        }

        private void Einkaufen_Load(object sender, EventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {
            Warenkorb.Text = "";
        }

        private void Gleitlager_Click(object sender, EventArgs e)
        {
            if (numericUpDown1.Value > 0)
            {
                Produkte Gleitlager = new Produkte(numericUpDown1.Value + " x Gleitlager", "Seriennummer: 123456", 11,1255); //Name, Seriennummer, Anzahl, Preis

                Warenkorb.Text += "\n\n" + Gleitlager.Bezeichnung + "\n";
                Warenkorb.Text += Gleitlager.Seriennummer + "\n";
                Warenkorb.Text += "Anzahl: " + Gleitlager.Anzahl+"\n";
                Warenkorb.Text += "Preis in Euro: " + Gleitlager.Preis;
 
            }
            if (numericUpDown1.Value > 0)
            {
               
            }
        }

        private void Kugellager_Click(object sender, EventArgs e)
        {
            if (numericUpDown2.Value > 0)
            {
                Produkte Kugellager = new Produkte(numericUpDown2.Value + " x Kugellager", "Seriennummer: 56545", 45, 999); //Name, Seriennummer, Anzahl, Preis

                Warenkorb.Text += "\n\n" + Kugellager.Bezeichnung + "\n";
                Warenkorb.Text += Kugellager.Seriennummer + "\n";
                Warenkorb.Text += "Anzahl: " + Kugellager.Anzahl+"\n";
                Warenkorb.Text += "Preis in Euro: " + Kugellager.Preis;
            }
        }

        private void Kupplung_Click(object sender, EventArgs e)
        {
            if (numericUpDown3.Value > 0)
            {
                Produkte Kupplung = new Produkte(numericUpDown3.Value + " x Kupplung", "Seriennummer: 6564", 454, 444); //Name, Seriennummer, Anzahl, Preis

                Warenkorb.Text += "\n\n" + Kupplung.Bezeichnung + "\n";
                Warenkorb.Text += Kupplung.Seriennummer + "\n";
                Warenkorb.Text += "Anzahl: " + Kupplung.Anzahl+"\n";
                Warenkorb.Text += "Preis in Euro: " + Kupplung.Preis;
            }
            
        }

        private void Welle_Click(object sender, EventArgs e)
        {
            if (numericUpDown4.Value > 0)
            {
                Produkte Welle = new Produkte(numericUpDown4.Value + " x Welle", "Seriennummer: 45454", 478, 555); //Name, Seriennummer, Anzahl, Preis

                Warenkorb.Text += "\n\n" + Welle.Bezeichnung + "\n";
                Warenkorb.Text += Welle.Seriennummer + "\n";
                Warenkorb.Text += "Anzahl: " + Welle.Anzahl+"\n";
                Warenkorb.Text += "Preis in Euro: " + Welle.Preis;
            }
        }

        private void Sicherheitsring_Click(object sender, EventArgs e)
        {
            if (numericUpDown5.Value > 0)
            {
                Produkte Sicherrungsring = new Produkte(numericUpDown5.Value + " x Sicherrungsring", "Seriennummer: 45424", 123, 455); //Name, Seriennummer, Anzahl, Preis

                Warenkorb.Text += "\n\n" + Sicherrungsring.Bezeichnung + "\n";
                Warenkorb.Text += Sicherrungsring.Seriennummer + "\n";
                Warenkorb.Text += "Anzahl: " + Sicherrungsring.Anzahl+"\n";
                Warenkorb.Text += "Preis in Euro: " + Sicherrungsring.Preis;
            }
        }

        private void zurück_Click(object sender, EventArgs e)
        {
            Shop FensterShop = new Shop();
            FensterShop.Show();
            this.Hide();
        }

        private void label4_Click(object sender, EventArgs e)
        {

        }

        private void preisgleitlager_Click(object sender, EventArgs e)
        {
            preisgleitlager.Text = "1255,99";
        }

        private void preiskugellager_Click(object sender, EventArgs e)
        {
            preiskugellager.Text = "999,99";
        }

        private void preiskupplung_Click(object sender, EventArgs e)
        {
            preiskupplung.Text = "1299,99";
        }

        private void preiswelle_Click(object sender, EventArgs e)
        {
            preiswelle.Text = "2,99";
        }

        private void preissicherungsring_Click(object sender, EventArgs e)
        {
            preissicherungsring.Text = "59,99";
        }

        private void textBoxGesamtpreis_TextChanged(object sender, EventArgs e)
        {

        }
    }
}
>

Schlagwörter: <Produkte, Addieren, Online-Shop>

3.003 Beiträge seit 2006
vor 7 Jahren

Puh, da weiß man gar nicht, wo man anfangen soll.

Punkt 1: dein Programm weiß nichts von den Preisen (als Zahl). Anstatt einen Text ("9990,99") vorzugeben und dann daraus die Zahl 9990.99 ermitteln zu lassen, sollte dein Code die Zahl kennen und der Oberfläche nur sagen, wie sie daraus eine darstellbare Zeichenkette machen soll.

Punkt 2: wenn du Daten hast, die du in einer Oberfläche dargestellt wissen willst, oder wenn du das Verhalten der Oberfläche steuern willst (bspw. Einzelposten errechnen und daraus wiederum eine Summe ermitteln), dann solltest du das per DataBinding machen. Hier ist ein Einstieg in das Thema.

Punkt 3: deinem geposteten Code kann man recht gut entnehmen, dass du noch recht unerfahren in der C#-Welt bist. Das ist nicht schlimm und ging uns allen mal so, es macht aber notwendig, dass du dich einmal mit den Grundlagen ([FAQ] Wie finde ich den Einstieg in C#?) befasst. Ansonsten sehe ich mit diesem Projekt eine Zukunft voller Spaghetticode voraus.

Grüße,

LaTino

"Furlow, is it always about money?"
"Is there anything else? I mean, how much sex can you have?"
"Don't know. I haven't maxed out yet."
(Furlow & Crichton, Farscape)

D
500 Beiträge seit 2007
vor 7 Jahren

Hallo hasan,

ich wuerde zu LaTinos Punkten gerne den Punkt 0 hinzufuegen und Dir raten sich Gedanken ueber ein Domaenenmodell zu machen, d.h. brauchst Du eventuell eine Produkt-Klasse (mit Name und Preis; spaeter erhaelt es weitere Eigentschaften). Dann wirst Du sicherlich eine Warenkorb-Klasse benoetigen, die Produkte und deren Anzahl aufnehmen kann. Des weiteren wird sie dir dann die Summe bspw. ausgeben koennen usw.
Im Prinzip ist das Domaenenmodell die Grundlage fuer die technischen Punkte 1 und 2, die LaTino erwaehnt.

Gruss,
DaMoe