Dialogurile predefinite sunt forme standardizate de dialog, incorporate in .NET, care pot fi inglobate in aplicatia noastra. Exemple de dialoguri predefinite sunt dialogul OpenFile, SaveFile, FontColor, PrintDialog, etc. Ele vor functiona in applicatia noastra in exact aceeasi maniera ca si in Word sau Paint, de exemplu.
Vom face o aplicatie care utilizeaza un meniu si cateva dialoguri predefinite, prilej cu care vom lucra cu cateva dintre metodele si proprietatile membru ale acestor controale. Celelalte metode si proprietati se pot descoperi cu ajutorul help-ului mediului de programare.
Deschidem un proiect nou, pe care il denumim DialoguriPredefinite. Tragem pe suprafata formei Form1 un control de tipul MenuStrip. Facand click pe suprafata acestui control, el se expandeaza in jos si la dreapta, creand poziti pentru noi itemi. Vom crea doua meniuri pe bara de meniu: Fisier si Format. Sub meniul Fisier vom crea alti trei itemi: Deschide, Salveaza si Iesire. Sub meniul Format cream itemul Font si itemul Color. Vom crea pentru fiecare item in parte dialogul aferent, insa nu vom executa efectiv si operatiile de deschidere si salvare de fisier.
Adăugăm formei dialogurile predefinite, prin drag&drop de la panoul Toolbox către suprafața formei. Observăm că dialogurile trase nu sunt localizate vizual pe suprafața formei, dar ele sunt înglobate. Sunt create obiectele aferente, cu numere de ordine începând cu 1. Vom avea astfel un obiect openFileDialog1, care are proprietăți ca Title, Filter, etc, a căror utilizare se va vedea mai jos.
Pentru tratarea evenimentului Click asupra unui item de meniu, facem dublu click pe acel item.
Meniul Deschide fisier
Introducem acest cod in handlerul evenimentului click:
private void deschideToolStripMenuItem_Click(object sender, EventArgs e)
{
//titlul dialogului
openFileDialog1.Title = "Deschide fisier";
// seteaza tipurille de fisier
openFileDialog1.Filter = "Fisiere text |*.txt| fisiere doc|*.doc|fisiere docx |*.docx";
//in comboBox-ul File name nu vrem sa apara la deschiderea dialogului nici un nume
openFileDialog1.FileName = "";
//directorul care se deschide in mod implicit
openFileDialog1.InitialDirectory = "MyDocuments";
//atentionare daca numele nu exista
openFileDialog1.CheckFileExists = true;
//deschide dialogul OpennFileDialog
if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{ //cod care deschide fisierul
}
}
Filtrul pentru deschiderea fisierului are sintaxa urmatoare: explicatie | filtru |explicatie | filtru ...etc.
In mod asemanator, introducem handlerele petru click in celelalte optiuni ale meniului.
Aplicatia va arata in felul urmator:
namespace DialoguriPredefinite
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void deschideToolStripMenuItem_Click(object sender, EventArgs e)
{
//titlul dialogului
openFileDialog1.Title = "Deschide fisier";
// seteaza tipurille de fisier
openFileDialog1.Filter = "Fisiere text |*.txt| fisiere doc|*.doc|fisiere docx |*.docx";
//in comboBox-ul File name nu vrem sa apara la deschiderea dialogului nici un nume
openFileDialog1.FileName = "";
//directorul care se deschide in mod implicit
openFileDialog1.InitialDirectory = "Desktop";
//atentionare daca numele nu exista
openFileDialog1.CheckFileExists = true;
//deschide dialogul OpennFileDialog
if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{ //cod care deschide fisierul
}
}
private void salveazăCaToolStripMenuItem_Click(object sender, EventArgs e)
{
//titlul dialogului
saveFileDialog1.Title = "salveaza fisierul";
//extensia implicita de salvare
saveFileDialog1.DefaultExt = ".txt";
//atentionare de suprascriere
saveFileDialog1.OverwritePrompt = true;
//deschide dialogul de salvare fisier
if (saveFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{ //cod care salveaza fisierul
}
}
private void iesireToolStripMenuItem_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void fontToolStripMenuItem_Click(object sender, EventArgs e)
{
// se deschide dialogul font
if (fontDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{ //cod care reafiseaza documentul cu fontul ales de utilizator
}
}
private void culoriToolStripMenuItem_Click(object sender, EventArgs e)
{
//deschide dialogul ColorDialog
if(colorDialog1.ShowDialog()==System.Windows.Forms.DialogResult.OK)
{
//cod care actualizeaza culorile in document
}
}
}
}
Niciun comentariu:
Trimiteți un comentariu