Προς το περιεχόμενο

C# - πως κλείνω ένα αναδυόμενο παράθυρο;


Cypher13

Προτεινόμενες αναρτήσεις

Δημοσ.

Ο κώδικας που χρησιμοποιώ είναι ο παρακάτω και σκοπός μου είναι να στέλνω κάποιες σειριακές εντολές. Το πρόβλημα όμως είναι οτι εμφανίζεται ένα παραθυράκι κάθε φορά που εκτελείται το πρόγραμμα που αναγκάζομαι να κλείνω χειροκίνητα. Θα μπορούσε κάποιος να μου πεί ποιά εντολή πρέπει να εισάγω στον κώδικα ώστε να κλέινει αυτόματα; (ή και καλύτερα να μην εμφανίζεται το παραθυρο καθόλου) Ευχαριστώ προκαταβολικά.

 

using System;

using System.Collections.Generic;

using System.Drawing;

using System.Windows.Forms;

using System.IO.Ports;

 

namespace serialtestnew

{

/// <summary>

/// Description of MainForm.

/// </summary>

public partial class MainForm : Form

{

public MainForm()

{

//

// The InitializeComponent() call is required for Windows Forms designer support.

//

InitializeComponent();

//

// TODO: Add constructor code after the InitializeComponent() call.

//

//configuring the serial port

serialPort1.PortName="COM4";

serialPort1.BaudRate=9600;

serialPort1.DataBits=8;

serialPort1.Parity=Parity.None;

serialPort1.StopBits= StopBits.One;

 

//opening the serial port

serialPort1.Open();

 

//write data to serial port

serialPort1.Write("ABC");

 

//close the port

serialPort1.Close();

 

}

 

}

}

Δημοσ.

Δεν έχω ιδέα τι είναι το UAC :rolleyes: Το πρόγραμμα αυτό για κάποιο λόγο που δεν γνωρίζω εμφανίζει ένα window το οποίο με κάποια εντολή λογικά και θα κλείνει...

Δημοσ.

window.th.jpg :)

 

---------- Το μήνυμα προστέθηκε στις 12:44 ----------

 

Τελικά νομίζω οτι το βρήκα, μέσα στο PROJECT υπάρχει το program.cs στο οποίο έκανα comment out την Application.Run(new MainForm()); Έτσι το παράθυρο δεν εμφανίζεται πιά. Μήπως όμως έτσι δεν εκτελείται όλο το πρόγραμμα; Σε ευχαριστώ για τον χρόνο σου.

 

using System;

using System.Windows.Forms;

 

namespace serialtestnew

{

/// <summary>

/// Class with program entry point.

/// </summary>

internal sealed class Program

{

/// <summary>

/// Program entry point.

/// </summary>

[sTAThread]

private static void Main(string[] args)

{

Application.EnableVisualStyles();

Application.SetCompatibleTextRenderingDefault(false);

-------> //Application.Run(new MainForm());

}

 

}

}

Δημοσ.

lol

Τεσπα.

Λοιπων, εχεις ενα form προγραμμα, το παραθυρο που βλεπεις ειναι το προγραμμα σου.

α) το κανεις σε console (+STAThread γιατι εχεις να κανεις με .net2)

β) στο iniz function θα βαλεις this.Hide();

Δημοσ.

Χμμμ.. δεν μπορώ να πώ οτι κατάλαβα και οι γνώσεις μου είναι περιορισμένες σε C/C++ σε παλιά περιβάλλοντα και όχι studio κτλπ. Αν νομίζεις οτι μπορείς να γίνεις λίγο ποιο λεπτομεριακός θα ήταν super.

Δημοσ.

File-> New project... ConsoleApplication

 

>using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO.Ports;//**
namespace ConsoleApplication1
{
   class Program
   {
       [sTAThread] // ***
       static void Main(string[] args)
       {
           SerialPort sp = new SerialPort
           {
               DataBits = 8,
               PortName = "COM4",
               BaudRate = 9600,
               Parity = Parity.None,
               StopBits = StopBits.One
           };
           sp.Open();
           sp.Write("ABC");
           sp.Close();
       
       }
   }
}

 

Βγαζοντας το Application.Run(new formX());

στην ουσια δε τρεχεις το προγραμμα σου.

 

Για το stathread(ειναι για forms και διαφορα api που υπαρχουν, πχ Clipboard) δεν ειμαι σιγουρος ο,τι το θελει, αλλα βαλτο κακο δε κανει

Δημοσ.

Μετα το compilation μου πετάει error οτι το όνομα τύπου ή χώρου ονομάτων 'Linq' δεν υπάρχει στον χώρο ονομάτων 'System' (λείπει μια αναφορά συγκρότησης; )

Δημοσ.

Περιεργο... 2005?

>using System;
using System.IO.Ports;//**
namespace ConsoleApplication1
{
   class Program
   {
       [sTAThread] // ***
       static void Main(string[] args)
       {
           SerialPort sp = new SerialPort();
           sp.DataBits = 8;
           sp.PortName = "COM4";
           sp.BaudRate = 9600;
           sp.Parity = Parity.None;
           sp.StopBits = StopBits.One;
           sp.Open();
           sp.Write("ABC");
           sp.Close();

       }
   }
}

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...