C# - Common Dialog
C#
Introduzione
- I Common Dialog sono delle finestre comuni a tutte le applicazioni Windows.
- Servono per eseguire compiti ben definiti e forniscono alle applicazioni una semplice interfaccia.
- Sono implementati nel Sistema Operativo, perciò ogni applicazione mostrerà le stesse form.
- Quelli di nostro interesse sono:
- OpenFileDialog(): per scegliere quale file aprire.
- SaveFileDialog(): per scegliere dove salvare un file e che nome dargli.
- ColorDialog(): per scegliere un colore.
- FontDialog(): per scegliere uno dei font installati nel sistema.
- FolderBrowserDialog(): per scegliere una cartella.
OpenFileDialog
- L'OpenFileDialog, permette di aprire una finestra e di scegliere un file.
- Ecco un esempio di come si utilizza.
OpenFileDialog ofd = new OpenFileDialog();
ofd.Title = "Scegli il file da aprire"; // Cambia il titolo del form di dialogo.
ofd.Filter = "Text files|*.txt|Pdf files|*.pdf"; // Imposta le estensioni dei file da filtrare.
ofd.InitialDirectory = @"C:\"; // Imposta la directory iniziale.
DialogResult res = ofd.ShowDialog();
if (res == DialogResult.OK)
{
// OK.
string fileName = ofd.FileName; // Directory + nome file.
Console.WriteLine("Hai scelto il file '" + fileName + "'");
}
else
{
// Annulla o uscita.
Console.WriteLine("Non hai scelto nessun file");
}
- La proprietà InitialDirectory, può essere impostata in modo da mostrare una cartella di sistema, come nell'esempio seguente:
// Per impostare la directory iniziale con una delle directory di sistema.
ofd.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
SaveFileDialog
- Il SaveFileDialog, permette di aprire una finestra e di scegliere dove salvare un file e quale nome dargli.
- Ecco un esempio di come si utilizza.
// Testo da salvare.
StringBuilder sb = new StringBuilder();
sb.AppendLine("Prima riga");
sb.AppendLine("Seconda riga");
sb.AppendLine("Terza riga");
SaveFileDialog sfd = new SaveFileDialog();
sfd.Title = "Salva il file"; // Cambia il titolo del form di dialogo.
sfd.Filter = "Text files|*.txt|Pdf files|*.pdf"; // Imposta le estensioni dei file da filtrare.
sfd.InitialDirectory = @"C:\"; // Imposta la directory iniziale.
sfd.FileName = "prova.txt"; // Imposta un nome file di default (l'utente può cambiarlo).
DialogResult res = sfd.ShowDialog();
if (res == DialogResult.OK)
{
// OK.
string fileName = sfd.FileName; // Directory + nome file.
// Salvataggio del file.
System.IO.StreamWriter file = new System.IO.StreamWriter(sfd.FileName);
file.WriteLine(sb.ToString());
file.Close();
Console.WriteLine("File salvato: '" + fileName + "'");
}
else
{
// Annulla o uscita.
Console.WriteLine("Non hai scelto nessun file");
}
ColorDialog
- Il ColorDialog, permette di aprire una finestra e di scegliere un colore.
- Ecco un esempio di come si utilizza.
ColorDialog cd = new ColorDialog();
cd.AllowFullOpen = true; // Se false disabilita il bottone 'Definisci colori personalizzati'. Default è True.
cd.Color = Color.Red; // Imposta un colore di default (l'utente può cambiarlo).
DialogResult res = cd.ShowDialog();
if (res == DialogResult.OK)
{
// OK.
Color c = cd.Color; // Colore selezionato.
Console.WriteLine(String.Format("Hai scelto il colore RGB {0},{1},{2}", c.R, c.G, c.B));
}
else
{
// Annulla o uscita.
Console.WriteLine("Non hai scelto nessun colore");
}
- Le seguenti proprietà hanno senso nei sistemi a 256 colori. Da diversi anni i computer gestiscono 256*256*256 = 16.777.216 colori, quindi possono essere ignorate.
cd.AnyColor = false; // Default è False.
cd.SolidColorOnly = false; // Default è False.
FontDialog
- Il FontDialog, permette di aprire una finestra e di scegliere un font.
- Ecco un esempio di come si utilizza.
FontDialog fd = new FontDialog();
fd.Font = new Font("Verdana", 8); // Imposta un font di default (l'utente può cambiarlo).
fd.Color = Color.Red; // Imposta un colore di default (l'utente può cambiarlo).
fd.ShowApply = false; // Default: false. Se true, mostra il bottone 'Applica'.
fd.ShowColor = true; // Default: false. Se true, mostra una casella di selezione del colore.
fd.ShowEffects = true; // Default: true. Se false, nasconde le checkbox 'Barrato' e 'Sottolineato'.
fd.ShowHelp = false; // Default: false. Se true, mostra il bottone 'Help'.
fd.MinSize = 10; fd.MaxSize = 20; // Imposta un range di dimensione font.
DialogResult res = fd.ShowDialog();
if (res == DialogResult.OK)
{
// OK.
Font f = fd.Font; // Font selezionato dall'utente.
Color c = fd.Color; // Colore selezionato dall'utente.
Console.WriteLine(String.Format("Hai scelto il font con nome {0}, dimensione {1}", f.Name, f.Size));
Console.WriteLine(String.Format("Hai scelto il font con colore {0}", c.R + "-" + c.G + "-" + c.B));
}
else
{
// Annulla o uscita.
Console.WriteLine("Non hai scelto nessun font");
}
FolderBrowserDialog
- Il FolderBrowserDialog, permette di aprire una finestra e di scegliere una cartella.
- Ecco un esempio di come si utilizza.
FolderBrowserDialog fbd = new FolderBrowserDialog();
fbd.Description = "Scegli la cartella da aprire";
fbd.SelectedPath = Environment.CurrentDirectory; // Imposta la directory iniziale.
DialogResult res = fbd.ShowDialog();
if (res == DialogResult.OK)
{
// OK.
string path = fbd.SelectedPath; // Directory + nome file.
Console.WriteLine("Hai scelto la cartella '" + path + "'");
}
else
{
// Annulla o uscita.
Console.WriteLine("Non hai scelto nessuna cartella");
}