Se ci metto una Main come metodo nel form mi crea casini perché dice che è definito più di un punto di ingresso.
Perché?
Ma ecco: cosa ti vedo? Io creo un nuovo progetto di tipo Windows Form e oltre alla classe Form.cs mi si crea automaticamente una classe Program.cs, in cui è comunque contenuto un metodo Main.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
namespace WindowsFormsApplication12
{
static class Program
{
///
/// Punto di ingresso principale dell'applicazione.
///
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}
E' qui che sta la Main!E' questo, il punto di ingresso!
Sperimentiamoci sopra...
static class Program
{
///
/// Punto di ingresso principale dell'applicazione.
///
[STAThread]
static void Main()
{
MessageBox.Show("Ciao, bello");
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
Ecco, così facendo prima di mostrarmi il Form mi appare la MessageBox con il messaggio "Ciao, bello".Da notare che il metodo Main è statico, e anche la classe è statica.
Adesso faccio diversamente e metto il Main nel contesto del Form.
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 WindowsFormsApplication12
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
static void Main()
{
Application.Run(new Form1());
}
private void Form1_Load(object sender, EventArgs e)
{
}
}
}
E si apre regolarmente.Però per far questo devo eliminare l'altro metodo Main che fa parte della classe statica Program.cs.
Nessun commento:
Posta un commento