Area di riferimento
- Creating a UI for a Windows Forms Applications by Using Standard Controls
- Add and configure a Windows Form
- Add a Windows Form to a project at design time
- Configure a Windows Form to control accessibility, appearance, behavior, configuration, data, design, focus, layout, style and other functionality
Windows Forms
Visual Studio 2005 permette di creare semplicemente un progetto Windows Forms mediante il template "Windows Application". Una Form è una classe che deriva dalla classe System.Windows.Forms.Form e rappresenta una finestra di Windows. Il codice generato da Visual Studio che istanzia la form e avvia l'applicazione è il seguente:
static class Program
{
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
Vediamo le proprietà più importanti di una windows form:
// Nome della form
this.Name = "Form1";
// Colore di sfondo della form
this.BackColor = System.Drawing.Color.FromArgb(255, 255, 192);
// Colore del testo nella form
this.ForeColor = System.Drawing.Color.Blue;
// Immagine di sfondo della form e come l'immagine deve essere visualizzata
this.BackgroundImage = global::Prova.Properties.Resources.foto_panorami_342;
this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
// Pulsante predefinito della form (Click con Invio)
this.AcceptButton = this.button1;
// Dimensioni della Form
this.ClientSize = new System.Drawing.Size(394, 274);
// Imposta se la form è attiva o meno
this.Enabled = true;
// Font utilizzato dai controlli della form
this.Font = new System.Drawing.Font("Verdana", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
// Stile del bordo della form
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
// Icona da visualizzare sulla form
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
// Margini della form
this.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
// Se visualizzare il pulsante Ingradisci in alto a destra nella form
this.MaximizeBox = false;
// Se visualizzare il pulsante di riduzione a icona
this.MinimizeBox = false;
// Dimensioni massime e minime della form
this.MaximumSize = new System.Drawing.Size(800, 600);
this.MinimumSize = new System.Drawing.Size(400, 300);
// Opacità della form
this.Opacity = 0.8;
// Imposta la visibilità della form
this.Visible = true;
// Posizione iniziale della form
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
// Testo da visualizzare sulla barra del titolo
this.Text = "Una Windows Form";
// Stato in cui la form si presenta la prima volta
this.WindowState = System.Windows.Forms.FormWindowState.Normal;
// Aggiunta di controlli alla form
this.Controls.Add(this.button1);
E' possibile impostare tutte queste proprietà utilizzando la finestra Properties dell'editor (premere F4 per visualizzarla). Sarà Visual Studio a creare tutto il codice necessario all'interno del metodo InitializeComponent.
E' ovviamente possibile avere all'interno del progetto più classi che definiscono form. In questo caso è necessario specificare la form di startup cioè la form che sarà caricata ed eseguita per prima dall'applicazione. Per fare questo basterà modificare opportunamente il codice all'interno del metodo Main mostrato precedentemente.
Windows Forms non rettangolari
E' possibile creare form non rettangolari impostando la proprietà Region della form nell'event handler Form_Load. Ecco un esempio di form a forma di ellisse:
public partial class Form1 : Form
{
private void Form1_Load(object sender, EventArgs e)
{
GraphicsPath gp = new GraphicsPath();
gp.AddEllipse(0, 0, this.Width, this.Height);
this.Region = new Region(gp);
}
...
}