Zum Inhalt springen

C# Rechner hängt sich auf, sobald Form2 aufgerufen wird


nubbeldupp

Empfohlene Beiträge

Hi,

ich habe wieder ein Problem. Ich möchte eine Variable von Form1 nach Form 2 Durchreichen, aber sobald ich auf Form2 komme, hängt sich der Rechner auf und es hilft nur noch Strg + Alt + Entf...

Ich poste mal meinen Code (Der von der Programmierweise, bestimmt nicht der beste ist)

Form1:

using System;

using System.Collections;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.Diagnostics;

using System.Threading;

using System.IO;


namespace DigiPort

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();                 

        }

        public int IP; 

        public int Port; 

        public int i;

        private void btnStart_Click(object sender, EventArgs e)

        {


            IP = Convert.ToInt32(tbIP.Text);

            Port = Convert.ToInt32(tbPort.Text);

            pb.Minimum = 0;

            pb.Maximum = Port;

            pb.Value = 0;

            pb.Step = 1;


            Process proc = new Process();


            for (i = 1; i <= Port; i++)

            {               

                if (i <= 9)

                {                 

                    string addr = "11.111.111." + IP + " 700" + i;

                    ProcessStartInfo psi = new ProcessStartInfo("telnet", addr);

                    psi.CreateNoWindow = false;

                    proc.StartInfo = psi;                   

                    proc.Start();

                    ArrayList arrlstProzesse = new ArrayList();

                    arrlstProzesse.AddRange( Process.GetProcessesByName("telnet"));                    

                    if (arrlstProzesse.Count > 0)

                    {                        

                        Thread.Sleep(1500);

                        SendKeys.Send("xxx");

                        Thread.Sleep(500);

                        SendKeys.Send("{ENTER}");

                        Thread.Sleep(500);

                        SendKeys.Send("xxx");

                        Thread.Sleep(500);

                        SendKeys.Send("{ENTER}");

                        Thread.Sleep(1000);

                    }

                    Form2 form2 = new Form2();

                    form2.Show();

                    this.Hide();


                    pb.PerformStep();

                    proc.WaitForExit();  

                }

                else

                {

                    string addr = "11.111.111." + IP + " 70" + i;                    

                    ProcessStartInfo psi = new ProcessStartInfo("telnet", addr);

                    psi.CreateNoWindow = false;

                    proc.StartInfo = psi;

                    proc.Start();

                    ArrayList arrlstProzesse = new ArrayList();

                    arrlstProzesse.AddRange(Process.GetProcessesByName("telnet"));

                    if (arrlstProzesse.Count > 0)

                    {

                        Thread.Sleep(1500);

                        SendKeys.Send("xxx");

                        Thread.Sleep(500);

                        SendKeys.Send("{ENTER}");

                        Thread.Sleep(500);

                        SendKeys.Send("xxx");

                        Thread.Sleep(500);

                        SendKeys.Send("{ENTER}");

                        Thread.Sleep(1000);


                    }

                    Form2 form2 = new Form2();  

                    form2.Show();

                    this.Hide();


                    pb.PerformStep();

                    proc.WaitForExit();

                }               

            }

        }

    }

}

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;

using System.IO;

using System.Threading;


namespace DigiPort

{

    public partial class Form2 : Form

    {       

        public int IP

        {

            get 

            { 

                return IP;

            }

            set 

            { 

                IP = value; 

            }


        }

        public int i

        {

            get 

            { 

                return i;

            }

            set 

            { 

                i = value;

            }

        }


        public Form2()

        {

            InitializeComponent();

        }

        string path = "C:\\DigiTest.txt";

        private void btnOK_Click(object sender, EventArgs e)

        {

            if (!File.Exists(path))

            {


                if (checkBox1.Checked)

                {

                    StreamWriter sw = new StreamWriter("C:\\DigiTest.txt");

                    sw.WriteLine("IP: 10.150.193." + IP + "  Port: " + i + "   NICHT ERREICHBAR!");

                    sw.Close();

                    Form1 form1 = new Form1();

                    form1.Show();

                    this.Hide();


                }

                if (checkBox2.Checked)

                {

                    StreamWriter sw = new StreamWriter("C:\\DigiTest.txt");

                    sw.WriteLine("IP: 10.150.193." + IP + "  Port: " + i + "   KEINE DESCRIPTION!");

                    sw.Close();

                    Form1 form1 = new Form1();

                    form1.Show();

                    this.Hide();

                }

                if (checkBox3.Checked)

                {

                    StreamWriter sw = new StreamWriter("C:\\DigiTest.txt");

                    sw.WriteLine("IP: 10.150.193." + IP + "  Port: " + i + "   Falsche Description!");

                    sw.Close();

                    Form1 form1 = new Form1();

                    form1.Show();

                    this.Hide();

                }

                if (checkBox4.Checked)

                {

                    StreamWriter sw = new StreamWriter("C:\\DigiTest.txt");

                    sw.WriteLine("IP: 10.150.193." + IP + "  Port: " + i + "   TEST ERFOLGREICH!");

                    sw.Close();

                    Form1 form1 = new Form1();

                    form1.Show();

                    this.Hide();

                }

            }

            else

            {

                if (checkBox1.Checked)

                {

                    StreamWriter sw = File.AppendText("C:\\DigiTest.txt");

                    sw.WriteLine("IP: 10.150.193." + IP + "  Port: " + i + "   NICHT ERREICHBAR!");

                    sw.Close();

                    Form1 form1 = new Form1();

                    form1.Show();

                    this.Hide();

                }

                if (checkBox2.Checked)

                {

                    StreamWriter sw = File.AppendText("C:\\DigiTest.txt");

                    sw.WriteLine("IP: 10.150.193." + IP + "  Port: " + i + "   KEINE DESCRIPTION!");

                    sw.Close();

                    Form1 form1 = new Form1();

                    form1.Show();

                    this.Hide();

                }

                if (checkBox3.Checked)

                {

                    StreamWriter sw = File.AppendText("C:\\DigiTest.txt");

                    sw.WriteLine("IP: 10.150.193." + IP + "  Port: " + i + "   Falsche Description!");

                    sw.Close();

                    Form1 form1 = new Form1();

                    form1.Show();

                    this.Hide();

                }

                if (checkBox4.Checked)

                {

                    StreamWriter sw = File.AppendText("C:\\DigiTest.txt");

                    sw.WriteLine("IP: 10.150.193." + IP + "  Port: " + i + "   TEST ERFOLGREICH!");

                    sw.Close();

                    Form1 form1 = new Form1();

                    form1.Show();

                    this.Hide();

                }

            }




        }

    }

}

Sobald Form2 auf geht, kann ich nix mehr machen und muss via Taskmanager der Prozess beenden.

Kann da jmd einen Fehler erkennen... ich habe das Gefühl, das der in einer Schleife hängt, da die CPU Auslasten enorm ansteigt... bloß ich weiß nicht wo xD

Bearbeitet von nubbeldupp
Link zu diesem Kommentar
Auf anderen Seiten teilen

Moin!

Ich sehe das auch so wie Rekon1602:

Du lieferst im getter Deiner Property die Property zurück und das ergibt dann eine wunderbare Endlosschleife.

Normalerweise erlaubst Du mit einer Property den Zugriff auf eine private oder protected Variable.

Bsp:



private int m_IP;

public int IP
{
get
{
return m_IP;
}
set
{
m_IP = value;
}

}

private int m_i;

public int i
{
get
{
return m_i;
}
set
{
m_i = value;
}
}
[/PHP]

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...