windows - Luk applikation efter læsning af øvre kode c #

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg arbejder med arduino seriel skærm. Mit mål er at oprette forbindelse via seriel port, sende nogle data og lukke applikationen, når den er færdig.


Dette er en C # ansøgning. Alt fungerer godt udover at applikationen ikke lukker. For at løse problemet tilføjede jeg Application.Exit() call i slutningen af ​​Form1\_Load metoden. Efter denne ændring starter og lukker applikationen uden at læse det store bogstav, som jeg sender.


Kildekode:


namespace ForTest
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1\_Load(object sender, EventArgs e)
        {
            string[] ports = SerialPort.GetPortNames();
            foreach (string port in ports)
            {
                SerialPort sp = new SerialPort(port, 9600, Parity.None, 8, StopBits.One);
                try
                {
                    sp.Open();
                    try
                    {
                        sp.WriteLine("Z"); // Send 1 to Arduino
                        sp.Close();
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                 }
                catch (Exception ek)
                {
                    System.Diagnostics.Debug.WriteLine(ek.Message);
                }

            }

            Application.Exit();
        }

        private void label2\_Click(object sender, EventArgs e)
        {

        }

        private void label1\_Click(object sender, EventArgs e)
        {

        } 

    }
}

Bedste reference


Hvis jeg forstod ordentligt, vil du sende data FRA C # til ARDUINO , og derefter afslutter du C # appen
du kan ikke bare ringe Application.exit() efter InitializeComponent(), i stedet for at opnå det, du skal afslutte efter at have sendt dataene


sp.WriteLine("Z"); // Send 1 to Arduino
sp.Close();
Application.Exit();     ///here!!