none
Autorennen programmieren RRS feed

  • Allgemeine Diskussion

  • Hallo zusammen,

    ich muss mein Autorennspiel abändern bzw. ergänzen, sodass bei Start des Programmes ein Fenster geöffnet wird, wo der User die Anzahl der Autos und die Rundenzahl angeben muss. Nach Klick auf OK soll die Rundenzahl übernommen werden, so weit so gut.

    Nun habe ich eine if-Abfrage gemacht um herauszufinden, wie viel Autos ausgewählt wurden und wollte diese je nach Anzahl zeichnen lassen. Nun ist aber auf Form1 kein Auto mehr zu sehen. Des Weiteren wird auch nach Klick auf OK das Fenster mit der Auswahl nicht geschlossen sondern nur in den Hintergrund gelegt.

    Wo liegen mein Fehler?

    Hier mein Code von Form1:

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    
    namespace Aufgabe1_Uebung2
    {
        public partial class Form1 : Form
        {
            Form1 fh;
            //Graphics gr;
            //Graphics schwarz;
            //Graphics green;
            Form1 aufrufer;
            // Variablen deklarieren
            int xpos1;
            int xpos2;
            int xpos3;
            int speed1;
            int speed2;
            int speed3;
            bool Abfrage;
            int Rennstrecke = 1;
            int Rennstrecke_Ende = 690;
           
            Timer t1 = new Timer();
    
    
            public Form1()
            {
                fh = aufrufer;
                InitializeComponent();
                t1.Interval = 100;  //ruft den Zeitraum im Milisekunden vor dem Auslösen des Tick-EReignisses nach dem letzten Eintreten des Tick-Ereignisses ab oder legt diesen fest.
                t1.Enabled = true;  //ruft ab oder legt fest, ob der Zeitgeber ausgeführt wird.
                t1.Tick += new EventHandler(t1_Tick);
                t1.Start();
            }
    
    
            public void t1_Tick(object sender, EventArgs e) //dieser Code wird ausgeführt wenn der Timer abgelaufen ist
            {
                this.Invalidate();
                xpos1 += speed1;
                xpos2 += speed2;
                xpos3 += speed3;
                xpos1 = xpos1 % this.Width;
                xpos2 = xpos2 % this.Width;
                xpos3 = xpos3 % this.Width;
                
    
                if (Rennstrecke == Rennstrecke_Ende)
                {
                    double rundegefahren = Convert.ToDouble(runde);
                    rundegefahren--;
                    this.runde.Text = Convert.ToString(rundegefahren);
                    Rennstrecke = 1;
                }
            
                //int z = Convert.ToInt32(runde.Text);
    
                //if (Abfrage == true)
                //{ //Der Timer soll nur runterzählen, wenn der Start-Timer Button angeklickt worden ist.
                //    if (z >= 1)
                //    {
                //        z--;
                //        this.runde.Text = Convert.ToString(z);
                //    }
                //    else
                //    {
                //        t1.Stop(); // wenn der Timer 0 erreicht hat soll er ein Fenster öffnen mit dem Hinweis Zeit ist abgelaufen.
                //        MessageBox.Show("Zeit ist abgelaufen!", //Falls ja dann gib bitte eine Hinweis aus.
                //                    "Hinweis",
                //                    MessageBoxButtons.OK, //In dem Hinweis soll ein OK
                //                    MessageBoxIcon.Information); // und das Icon für Information dargestellt werden.
                //    }
                //}
    
            }
    
            //public void Form1_Paint(object sender, PaintEventArgs e)
            //{
            //    //Anzahl_Autos(0, 0);
    
            //    #region Auto1
            //    Point point1 = new Point(17 + xpos1, 15);
            //    Point point2 = new Point(17 + xpos1, 25);
            //    Point point3 = new Point(87 + xpos1, 15);
            //    Point point4 = new Point(87 + xpos1, 25);
            //    Point point5 = new Point(17 + xpos1, 47);
            //    Point point6 = new Point(17 + xpos1, 55);
            //    Point point7 = new Point(87 + xpos1, 47);
            //    Point point8 = new Point(87 + xpos1, 55);
    
            //    Graphics gr = this.CreateGraphics();
            //    // gr.DrawEllipse(new Pen(Color.Red), new Rectangle(10, 10, 100, 100));
            //    gr.DrawRectangle(new Pen(Color.Red), new Rectangle(10 + xpos1, 10, 15, 5)); //Rad 1 (oben links)
            //    gr.DrawLine(new Pen(Color.Red, 1), point1, point2); //Aufhängung 1 (oben links)
            //    gr.DrawRectangle(new Pen(Color.Red), new Rectangle(80 + xpos1, 10, 15, 5)); //Rad 2 (oben rechts) 
            //    gr.DrawLine(new Pen(Color.Red, 1), point3, point4); //Aufhängung 2 (oben rechts)
            //    gr.DrawRectangle(new Pen(Color.Red), new Rectangle(10 + xpos1, 25, 85, 22)); //Autorumpf
            //    gr.DrawEllipse(new Pen(Color.Red), new Rectangle(60 + xpos1, 28, 15, 15)); //Cockpit
            //    gr.DrawRectangle(new Pen(Color.Red), new Rectangle(10 + xpos1, 55, 15, 5)); //Rad 3 (unten links)
            //    gr.DrawLine(new Pen(Color.Red, 1), point5, point6); //Aufhängung 3 (unten links)
            //    gr.DrawRectangle(new Pen(Color.Red), new Rectangle(80 + xpos1, 55, 15, 5)); //Rad 4 (unten rechts)
            //    gr.DrawLine(new Pen(Color.Red, 1), point7, point8); //Aufhängung 4 (unten rechts)
            //    #endregion Auto1
    
            //    #region Auto2
            //    Point point9 = new Point(17 + xpos2, 105);
            //    Point point10 = new Point(17 + xpos2, 115);
            //    Point point11 = new Point(87 + xpos2, 105);
            //    Point point12 = new Point(87 + xpos2, 115);
            //    Point point13 = new Point(17 + xpos2, 137);
            //    Point point14 = new Point(17 + xpos2, 145);
            //    Point point15 = new Point(87 + xpos2, 137);
            //    Point point16 = new Point(87 + xpos2, 145);
    
            //    Graphics schwarz = this.CreateGraphics();
            //    // gr.DrawEllipse(new Pen(Color.Red), new Rectangle(10, 10, 100, 100));
            //    schwarz.DrawRectangle(new Pen(Color.Black), new Rectangle(10 + xpos2, 100, 15, 5)); //Rad 1 (oben links)
            //    schwarz.DrawLine(new Pen(Color.Black, 1), point9, point10); //Aufhängung 1 (oben links)
            //    schwarz.DrawRectangle(new Pen(Color.Black), new Rectangle(80 + xpos2, 100, 15, 5)); //Rad 2 (oben rechts)
            //    schwarz.DrawLine(new Pen(Color.Black, 1), point11, point12); //Aufhängung 2 (oben rechts)
            //    schwarz.DrawRectangle(new Pen(Color.Black), new Rectangle(10 + xpos2, 115, 85, 22)); //Autorumpf
            //    schwarz.DrawEllipse(new Pen(Color.Black), new Rectangle(60 + xpos2, 118, 15, 15)); //Cockpit
            //    schwarz.DrawRectangle(new Pen(Color.Black), new Rectangle(10 + xpos2, 145, 15, 5)); //Rad 3 (unten links)
            //    schwarz.DrawLine(new Pen(Color.Black, 1), point13, point14); //Aufhängung 3 (unten links)
            //    schwarz.DrawRectangle(new Pen(Color.Black), new Rectangle(80 + xpos2, 145, 15, 5)); //Rad 4 (unten rechts)
            //    schwarz.DrawLine(new Pen(Color.Black, 1), point15, point16); //Aufhängung 4 (unten rechts)
            //    #endregion Auto2
    
            //    #region Auto3
            //    Point point17 = new Point(17 + xpos3, 195);
            //    Point point18 = new Point(17 + xpos3, 205);
            //    Point point19 = new Point(87 + xpos3, 195);
            //    Point point20 = new Point(87 + xpos3, 205);
            //    Point point21 = new Point(17 + xpos3, 227);
            //    Point point22 = new Point(17 + xpos3, 235);
            //    Point point23 = new Point(87 + xpos3, 227);
            //    Point point24 = new Point(87 + xpos3, 235);
    
            //    Graphics green = this.CreateGraphics();
            //    // gr.DrawEllipse(new Pen(Color.Red), new Rectangle(10, 10, 100, 100));
            //    green.DrawRectangle(new Pen(Color.Green), new Rectangle(10 + xpos3, 190, 15, 5)); //Rad 1 (oben links)
            //    green.DrawLine(new Pen(Color.Green, 1), point17, point18); //Aufhängung 1 (oben links)
            //    green.DrawRectangle(new Pen(Color.Green), new Rectangle(80 + xpos3, 190, 15, 5)); //Rad 2 (oben rechts)
            //    green.DrawLine(new Pen(Color.Green, 1), point19, point20); //Aufhängung 2 (oben rechts)
            //    green.DrawRectangle(new Pen(Color.Green), new Rectangle(10 + xpos3, 205, 85, 22)); //Autorumpf
            //    green.DrawEllipse(new Pen(Color.Green), new Rectangle(60 + xpos3, 208, 15, 15)); //Cockpit
            //    green.DrawRectangle(new Pen(Color.Green), new Rectangle(10 + xpos3, 235, 15, 5)); //Rad 3 (unten links)
            //    green.DrawLine(new Pen(Color.Green, 1), point21, point22); //Aufhängung 3 (unten links)
            //    green.DrawRectangle(new Pen(Color.Green), new Rectangle(80 + xpos3, 235, 15, 5)); //Rad 4 (unten rechts)
            //    green.DrawLine(new Pen(Color.Green, 1), point23, point24); //Aufhängung 4 (unten rechts)
            //    #endregion Auto3
    
            //}
    
            public void Timer_Click(object sender, EventArgs e)
            {
    
                speed1 = 5; //Bei Klick auf den Button "Timer-Start" ...
                speed2 = 5; //...sollen die Autos losfahren mit einer Geschwindigkeit von 5 Pixel
                speed3 = 5;
                Abfrage = true; //Die Variable Abfrage wird auf true gesetzt, sodass der Timer erst losläuft, wenn man den Start-Timer betätigt
                t1.Start(); //hier wird in die Methode "t1_Tick"
            }
    
            public void gas1_Click(object sender, EventArgs e)
            {
                if (Abfrage == true)
                {
                    Fahrzeug myGas = new Fahrzeug();
                    myGas.Gas1(Abfrage, speed1);
    
                    speed1 = Convert.ToInt32(myGas.GasAuto1);
                }
            }
    
            public void gas2_Click(object sender, EventArgs e)
            {
                if (Abfrage == true)
                {
                    Fahrzeug myGas = new Fahrzeug();
                    myGas.Gas2(Abfrage, speed2);
    
                    speed2 = Convert.ToInt32(myGas.GasAuto2);
                }
            }
    
    
            public void bremse1_Click(object sender, EventArgs e)
            {
                if (Abfrage == true)
                {
                    Fahrzeug myBremse = new Fahrzeug();
                    myBremse.Bremse1(Abfrage, speed1);
    
                    speed1 = Convert.ToInt32(myBremse.BremseAuto1);
                }
            }
    
            public void bremse2_Click(object sender, EventArgs e)
            {
                if (Abfrage == true)
                {
                    Fahrzeug myBremse = new Fahrzeug();
                    myBremse.Bremse2(Abfrage, speed2);
    
                    speed2 = Convert.ToInt32(myBremse.BremseAuto2);
                }
    
    
            }
    
            private void gas3_Click(object sender, EventArgs e)
            {
                if (Abfrage == true)
                {
                    Fahrzeug myGas = new Fahrzeug();
                    myGas.Gas3(Abfrage, speed3);
    
                    speed3 = Convert.ToInt32(myGas.GasAuto3);
                }
    
            }
    
            private void bremse3_Click(object sender, EventArgs e)
            {
                if (Abfrage == true)
                {
                    Fahrzeug myBremse = new Fahrzeug();
                    myBremse.Bremse3(Abfrage, speed2);
    
                    speed3 = Convert.ToInt32(myBremse.BremseAuto3);
                }
            }
    
            public void Anzahl_Autos(double rundenzahl,
               double Anzahl) {
    
                   this.runde.Text = Convert.ToString(rundenzahl);
                   //this.runde.Text = Convert.ToString(Anzahl);
    
    
                   if (Anzahl == 1)
                   {
                       CreateGraphics();
                       #region Auto1
                       Point point1 = new Point(17 + xpos1, 15);
                       Point point2 = new Point(17 + xpos1, 25);
                       Point point3 = new Point(87 + xpos1, 15);
                       Point point4 = new Point(87 + xpos1, 25);
                       Point point5 = new Point(17 + xpos1, 47);
                       Point point6 = new Point(17 + xpos1, 55);
                       Point point7 = new Point(87 + xpos1, 47);
                       Point point8 = new Point(87 + xpos1, 55);
    
                       Graphics gr = this.CreateGraphics();
                       // gr.DrawEllipse(new Pen(Color.Red), new Rectangle(10, 10, 100, 100));
                       gr.DrawRectangle(new Pen(Color.Red), new Rectangle(10 + xpos1, 10, 15, 5)); //Rad 1 (oben links)
                       gr.DrawLine(new Pen(Color.Red, 1), point1, point2); //Aufhängung 1 (oben links)
                       gr.DrawRectangle(new Pen(Color.Red), new Rectangle(80 + xpos1, 10, 15, 5)); //Rad 2 (oben rechts) 
                       gr.DrawLine(new Pen(Color.Red, 1), point3, point4); //Aufhängung 2 (oben rechts)
                       gr.DrawRectangle(new Pen(Color.Red), new Rectangle(10 + xpos1, 25, 85, 22)); //Autorumpf
                       gr.DrawEllipse(new Pen(Color.Red), new Rectangle(60 + xpos1, 28, 15, 15)); //Cockpit
                       gr.DrawRectangle(new Pen(Color.Red), new Rectangle(10 + xpos1, 55, 15, 5)); //Rad 3 (unten links)
                       gr.DrawLine(new Pen(Color.Red, 1), point5, point6); //Aufhängung 3 (unten links)
                       gr.DrawRectangle(new Pen(Color.Red), new Rectangle(80 + xpos1, 55, 15, 5)); //Rad 4 (unten rechts)
                       gr.DrawLine(new Pen(Color.Red, 1), point7, point8); //Aufhängung 4 (unten rechts)
    
                       #endregion Auto1
                   }
                   else if (Anzahl == 2)
                   {
                       #region Auto1
                       Point point1 = new Point(17 + xpos1, 15);
                       Point point2 = new Point(17 + xpos1, 25);
                       Point point3 = new Point(87 + xpos1, 15);
                       Point point4 = new Point(87 + xpos1, 25);
                       Point point5 = new Point(17 + xpos1, 47);
                       Point point6 = new Point(17 + xpos1, 55);
                       Point point7 = new Point(87 + xpos1, 47);
                       Point point8 = new Point(87 + xpos1, 55);
    
                       Graphics gr = this.CreateGraphics();
                       // gr.DrawEllipse(new Pen(Color.Red), new Rectangle(10, 10, 100, 100));
                       gr.DrawRectangle(new Pen(Color.Red), new Rectangle(10 + xpos1, 10, 15, 5)); //Rad 1 (oben links)
                       gr.DrawLine(new Pen(Color.Red, 1), point1, point2); //Aufhängung 1 (oben links)
                       gr.DrawRectangle(new Pen(Color.Red), new Rectangle(80 + xpos1, 10, 15, 5)); //Rad 2 (oben rechts) 
                       gr.DrawLine(new Pen(Color.Red, 1), point3, point4); //Aufhängung 2 (oben rechts)
                       gr.DrawRectangle(new Pen(Color.Red), new Rectangle(10 + xpos1, 25, 85, 22)); //Autorumpf
                       gr.DrawEllipse(new Pen(Color.Red), new Rectangle(60 + xpos1, 28, 15, 15)); //Cockpit
                       gr.DrawRectangle(new Pen(Color.Red), new Rectangle(10 + xpos1, 55, 15, 5)); //Rad 3 (unten links)
                       gr.DrawLine(new Pen(Color.Red, 1), point5, point6); //Aufhängung 3 (unten links)
                       gr.DrawRectangle(new Pen(Color.Red), new Rectangle(80 + xpos1, 55, 15, 5)); //Rad 4 (unten rechts)
                       gr.DrawLine(new Pen(Color.Red, 1), point7, point8); //Aufhängung 4 (unten rechts)
    
                       #endregion Auto1
    
                       #region Auto2
                       Point point9 = new Point(17 + xpos2, 105);
                       Point point10 = new Point(17 + xpos2, 115);
                       Point point11 = new Point(87 + xpos2, 105);
                       Point point12 = new Point(87 + xpos2, 115);
                       Point point13 = new Point(17 + xpos2, 137);
                       Point point14 = new Point(17 + xpos2, 145);
                       Point point15 = new Point(87 + xpos2, 137);
                       Point point16 = new Point(87 + xpos2, 145);
    
                       Graphics schwarz = this.CreateGraphics();
                       // gr.DrawEllipse(new Pen(Color.Red), new Rectangle(10, 10, 100, 100));
                       schwarz.DrawRectangle(new Pen(Color.Black), new Rectangle(10 + xpos2, 100, 15, 5)); //Rad 1 (oben links)
                       schwarz.DrawLine(new Pen(Color.Black, 1), point9, point10); //Aufhängung 1 (oben links)
                       schwarz.DrawRectangle(new Pen(Color.Black), new Rectangle(80 + xpos2, 100, 15, 5)); //Rad 2 (oben rechts)
                       schwarz.DrawLine(new Pen(Color.Black, 1), point11, point12); //Aufhängung 2 (oben rechts)
                       schwarz.DrawRectangle(new Pen(Color.Black), new Rectangle(10 + xpos2, 115, 85, 22)); //Autorumpf
                       schwarz.DrawEllipse(new Pen(Color.Black), new Rectangle(60 + xpos2, 118, 15, 15)); //Cockpit
                       schwarz.DrawRectangle(new Pen(Color.Black), new Rectangle(10 + xpos2, 145, 15, 5)); //Rad 3 (unten links)
                       schwarz.DrawLine(new Pen(Color.Black, 1), point13, point14); //Aufhängung 3 (unten links)
                       schwarz.DrawRectangle(new Pen(Color.Black), new Rectangle(80 + xpos2, 145, 15, 5)); //Rad 4 (unten rechts)
                       schwarz.DrawLine(new Pen(Color.Black, 1), point15, point16); //Aufhängung 4 (unten rechts)
                       #endregion Auto2
                   }
                   else if (Anzahl == 3)
                   {
    
                       #region Auto1
                       Point point1 = new Point(17 + xpos1, 15);
                       Point point2 = new Point(17 + xpos1, 25);
                       Point point3 = new Point(87 + xpos1, 15);
                       Point point4 = new Point(87 + xpos1, 25);
                       Point point5 = new Point(17 + xpos1, 47);
                       Point point6 = new Point(17 + xpos1, 55);
                       Point point7 = new Point(87 + xpos1, 47);
                       Point point8 = new Point(87 + xpos1, 55);
    
                       Graphics gr = this.CreateGraphics();
                       // gr.DrawEllipse(new Pen(Color.Red), new Rectangle(10, 10, 100, 100));
                       gr.DrawRectangle(new Pen(Color.Red), new Rectangle(10 + xpos1, 10, 15, 5)); //Rad 1 (oben links)
                       gr.DrawLine(new Pen(Color.Red, 1), point1, point2); //Aufhängung 1 (oben links)
                       gr.DrawRectangle(new Pen(Color.Red), new Rectangle(80 + xpos1, 10, 15, 5)); //Rad 2 (oben rechts) 
                       gr.DrawLine(new Pen(Color.Red, 1), point3, point4); //Aufhängung 2 (oben rechts)
                       gr.DrawRectangle(new Pen(Color.Red), new Rectangle(10 + xpos1, 25, 85, 22)); //Autorumpf
                       gr.DrawEllipse(new Pen(Color.Red), new Rectangle(60 + xpos1, 28, 15, 15)); //Cockpit
                       gr.DrawRectangle(new Pen(Color.Red), new Rectangle(10 + xpos1, 55, 15, 5)); //Rad 3 (unten links)
                       gr.DrawLine(new Pen(Color.Red, 1), point5, point6); //Aufhängung 3 (unten links)
                       gr.DrawRectangle(new Pen(Color.Red), new Rectangle(80 + xpos1, 55, 15, 5)); //Rad 4 (unten rechts)
                       gr.DrawLine(new Pen(Color.Red, 1), point7, point8); //Aufhängung 4 (unten rechts)
    
                       #endregion Auto1
    
                       #region Auto2
                       Point point9 = new Point(17 + xpos2, 105);
                       Point point10 = new Point(17 + xpos2, 115);
                       Point point11 = new Point(87 + xpos2, 105);
                       Point point12 = new Point(87 + xpos2, 115);
                       Point point13 = new Point(17 + xpos2, 137);
                       Point point14 = new Point(17 + xpos2, 145);
                       Point point15 = new Point(87 + xpos2, 137);
                       Point point16 = new Point(87 + xpos2, 145);
    
                       Graphics schwarz = this.CreateGraphics();
                       // gr.DrawEllipse(new Pen(Color.Red), new Rectangle(10, 10, 100, 100));
                       schwarz.DrawRectangle(new Pen(Color.Black), new Rectangle(10 + xpos2, 100, 15, 5)); //Rad 1 (oben links)
                       schwarz.DrawLine(new Pen(Color.Black, 1), point9, point10); //Aufhängung 1 (oben links)
                       schwarz.DrawRectangle(new Pen(Color.Black), new Rectangle(80 + xpos2, 100, 15, 5)); //Rad 2 (oben rechts)
                       schwarz.DrawLine(new Pen(Color.Black, 1), point11, point12); //Aufhängung 2 (oben rechts)
                       schwarz.DrawRectangle(new Pen(Color.Black), new Rectangle(10 + xpos2, 115, 85, 22)); //Autorumpf
                       schwarz.DrawEllipse(new Pen(Color.Black), new Rectangle(60 + xpos2, 118, 15, 15)); //Cockpit
                       schwarz.DrawRectangle(new Pen(Color.Black), new Rectangle(10 + xpos2, 145, 15, 5)); //Rad 3 (unten links)
                       schwarz.DrawLine(new Pen(Color.Black, 1), point13, point14); //Aufhängung 3 (unten links)
                       schwarz.DrawRectangle(new Pen(Color.Black), new Rectangle(80 + xpos2, 145, 15, 5)); //Rad 4 (unten rechts)
                       schwarz.DrawLine(new Pen(Color.Black, 1), point15, point16); //Aufhängung 4 (unten rechts)
                       #endregion Auto2
    
                       #region Auto3
                       Point point17 = new Point(17 + xpos3, 195);
                       Point point18 = new Point(17 + xpos3, 205);
                       Point point19 = new Point(87 + xpos3, 195);
                       Point point20 = new Point(87 + xpos3, 205);
                       Point point21 = new Point(17 + xpos3, 227);
                       Point point22 = new Point(17 + xpos3, 235);
                       Point point23 = new Point(87 + xpos3, 227);
                       Point point24 = new Point(87 + xpos3, 235);
    
                       Graphics green = this.CreateGraphics();
                       // gr.DrawEllipse(new Pen(Color.Red), new Rectangle(10, 10, 100, 100));
                       green.DrawRectangle(new Pen(Color.Green), new Rectangle(10 + xpos3, 190, 15, 5)); //Rad 1 (oben links)
                       green.DrawLine(new Pen(Color.Green, 1), point17, point18); //Aufhängung 1 (oben links)
                       green.DrawRectangle(new Pen(Color.Green), new Rectangle(80 + xpos3, 190, 15, 5)); //Rad 2 (oben rechts)
                       green.DrawLine(new Pen(Color.Green, 1), point19, point20); //Aufhängung 2 (oben rechts)
                       green.DrawRectangle(new Pen(Color.Green), new Rectangle(10 + xpos3, 205, 85, 22)); //Autorumpf
                       green.DrawEllipse(new Pen(Color.Green), new Rectangle(60 + xpos3, 208, 15, 15)); //Cockpit
                       green.DrawRectangle(new Pen(Color.Green), new Rectangle(10 + xpos3, 235, 15, 5)); //Rad 3 (unten links)
                       green.DrawLine(new Pen(Color.Green, 1), point21, point22); //Aufhängung 3 (unten links)
                       green.DrawRectangle(new Pen(Color.Green), new Rectangle(80 + xpos3, 235, 15, 5)); //Rad 4 (unten rechts)
                       green.DrawLine(new Pen(Color.Green, 1), point23, point24); //Aufhängung 4 (unten rechts)
                       #endregion Auto3
                   }
           
               }
    
            private void runde_TextChanged(object sender, EventArgs e)
            {
    
            }
    
            private void Form1_Load(object sender, EventArgs e)
            {
                this.runde.Text = fh.Controls["Rundenzahl"].Text;
                //this.Anzahl_Autos(1,1);
               
             }
        }
    }
    


    Code Form2 :

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    
    namespace Aufgabe1_Uebung2
    {
        public partial class Form2 : Form
        {
    
            public Form2()
            {
                InitializeComponent();
            }
    
    
            public void Anzahl_Autos()
            {
                try
                {
    
                    // ermittle mwst
                    int Anzahl = 0;   //Damit, wenn kein RadioButton ausgewählt ist, das Programm weiter ausgeführt wird, muss eine int Variable definiert werden, die gleich null zurück gibt.
    
                    if (Auto1.Checked)
                    {    //Prüfung wie viel Autos ausgewählt wurden ausgewählt wurde.
                        Anzahl = 1;
                    }
                    else if (Auto2.Checked)
                    {
                        Anzahl = 2;
                    }
                    else if (Auto3.Checked)
                    {
                        Anzahl = 3;
                    }
    
                    double rundenzahl = Convert.ToDouble(Rundenzahl.Text);     //Übergabe des Betrages der in das Textfeld txt1 bei Label Netto eingegeben wurde wird an die Variable a als Datentyp Double übermittelt.
    
                    if (rundenzahl >= 0 && rundenzahl <= 1000)
                    { //Bedingung das Rundenzahl zwischen 0 und 1000 liegen darf.
    
                        Form1 myAnzahl = new Form1();
                        myAnzahl.Anzahl_Autos(rundenzahl, Anzahl);
                        myAnzahl.ShowDialog();
                         // berechnung erfolgt - werte übernehmen
                   }
                      
                    else
                    {
                        MessageBox.Show("Bitte geben Sie eine Zahl zwischen 0 und 1000 ein.", //Falls ja dann gib bitte eine Fehlermeldung aus.
                            "Fehlermeldung",
                            MessageBoxButtons.OK, //In der Fehlermeldung soll ein OK
                            MessageBoxIcon.Information); // und das Icon für Information dargestellt werden.
    
                    }
    
                    
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Fehler in Berechnung (" + ex.Message + ")");
                }
    
                this.Close(); // schließt Form2 und öffnet Form1
            }
    
            private void OK_Click(object sender, EventArgs e)
            {
                
                Anzahl_Autos();
                
            }
        }
    }
    

    Wollte auch die Rundenzahl folgendermaßen runterzählen lassen. Funktioniert aber leider nicht.

     
      if (xpos1 == this.Width|| xpos2 == this.Width || xpos2 == this.Width)
                {
                    double rundegefahren = Convert.ToDouble(runde);
                    rundegefahren--;
                    this.runde.Text = Convert.ToString(rundegefahren);
                }

    Kann mir vielleicht jemand helfen?

    Danke im Voraus.

    Gruß Rebecca

    Sonntag, 20. Januar 2013 13:04

Alle Antworten

  • Wollte auch die Rundenzahl folgendermaßen runterzählen lassen. Funktioniert aber leider nicht.

         if (xpos1 == this.Width|| xpos2 == this.Width || xpos2 == this.Width)
                             {
                                     double rundegefahren = Convert.ToDouble(runde);
                                     rundegefahren--;
                                     this.runde.Text = Convert.ToString(rundegefahren);
                             }

    Du kannst keine TextBox in einen Double konvertieren. Du kannst höchstens versuchen den Inhalt der TextBox konvertieren... also ich würde Folgendes machen:

    double dbl;
    if (double.TryParse(runde.Text, out dbl))
    {
        // TODO: Erfolgreich konvertiert
    }

    Jochen Kalmbach (MVP VC++)
    Montag, 21. Januar 2013 08:38
  • Hallo Rebecca,

    myAnzahl.ShowDialog(); offnet Form1 als ein Modal Dialog. Du sollst ein bisschen mehr darüber denken, brauchst Du eigentlich zwei Forms? Du kannst alles in einer Form tun:)

    Gruss,

    Ionut

    Dienstag, 22. Januar 2013 14:05
    Moderator
  • Hallo Rebecca,

    Hast du inszwischen weitergekomen?

    Gruss,

    Ionur

    Mittwoch, 30. Januar 2013 13:29
    Moderator
  • ****************************************************************************************************************
    Dieser Thread wurde mangels weiterer Beteiligung des Fragestellenden ohne bestätigte Lösung abgeschlossen.
    Neue Rückfragen oder Ergänzungen zu diesem Thread bleiben weiterhin möglich.
    ****************************************************************************************************************
    Freitag, 1. Februar 2013 17:53
    Moderator