Programarea Aplicațiilor Windows în NET Framework

Previzualizare curs:

Extras din curs:

.NET Framework asigură şi uneltele şi tehnologiile necesare dezvoltării aplicaţiilor distribuite, atât Windows, cât şi Web, inclusiv servicii Web.

Prin arhitectura sa .NET Framework asigură suportul necesar proceselor de compilare şi rulare, necesare dezvoltării aplicaţiilor .NET.

În acest articol îmi propun să prezint aspecte legate de dezvoltarea aplicaţiilor Windows.

Tipuri de aplicaţii Windows

În .NET putem vorbi de două tipuri de aplicaţii: Console Applications şi Windows Applications.

O singură aplicaţie poate avea elemente caracteristice celor de tip consola cât şi celor Windows. De exemplu, într-o aplicaţie consolă putem să introducem o fereastră MessageBox. Compilatorul C# face diferenţa dintre cele două tipuri de aplicaţii printr-un switch numit "target" de pe linia de comandă a acestuia.

/target:exe - pentru aplicaţii consolă

/target:winexe - pentru aplicaţii Windows

Switch-ul target poate lua şi valorile, "libray" sau "module" dacă vrem să generăm module de cod.

Dacă un executabil marcat ca fiind de tip consolă şi este lansat în execuţie direct din Windows, atunci Windows-ul va crea o fereastră consolă pentru aplicaţie. Dacă aplicaţia este pornită dintr-o fereastră Windows, la lansarea în execuţie Windows nu se va deschide nici o fereastră consolă.

Hello World

Aşa ar arăta clasicul "Hello World" scris în C#, ca aplicaţie consolă:

using System;

namespace ConsoleApplication

{

class MyClass

{

static void Main(string[] args)

{

Console.WriteLine("Hello World");

}

}

}

Punctul de start în orice aplicaţie .NET Framework este metoda statică Main. Dacă într-un proiect există două clase, fiecare cu câte o metodă statică Main, atunci trebuie specificat compilatorului va fi folosită ca punct de start pentru firul de execuţie principal.

MessageBox

Dacă dorim să afişăm ferestre de dialog standard, de tipul "MessageBox", putem modifica codul astfel:

using System;

namespace ConsoleApplication

{

class MyClass

{

static void Main(string[] args)

{

System.Windows.Forms.MessageBox.Show("Hello World");

}

}

}

MessageBox este o clasă din namespace-ul: System.Windows.Forms.

Metoda Show face sa apară pe ecran fereastra de dialog. Metoda a fost suprascrisă, având astfel mai multe variante, la care diferă lista de parametri.

Forme

În lumea reală, aplicaţiile Windows nu se rezumă doar la MessageBox, ci folosesc aşa numitele ferestre. În .NET ferestrele sunt implementate de către form-uri. Pentru a crea o fereastră trebuie să instanţiem o clasă "Form" sau una derivată din aceasta. Clasa form o găsim definită în namespace-ul "System.Windows.Forms". După instanţiere, o putem afişa în două moduri: prin apelul metodei "Show" sau prin setarea proprietăţii "Visible" la valoarea True.

using System;

using System.Windows.Forms;

public class NewForm

{

public static void Main()

{

Form form=new Form();

form.Show();

}

}

Ce este cu bucla de mesaje? Este un ciclu "while" care se ocupă cu extragerea şi tratarea mesajelor din coada de mesaje, În . NET Framework un astfel de mecanism este implementat cu ajutorul clasei "Application".

public class NewForm

{

public static void Main()

{

Form form=new Form();

form.Show();

Application.Run(form);

}

}

Daca se doreşte terminarea aplicaţiei, se apelează metoda statică "Application.Exit()", care trimite mesajul WM_QUIT în coada de mesaje a aplicaţiei.

Deşi se pot crea forme direct din clasa "Form", este preferabil să folosim clase care o moştenesc-cazul designer-ul de forme din Visual Studio.NET.

Să creăm un proiect nou de tip "Windows Application" în C#, iar în forma creată automat, adăugăm un textbox şi un button, prin "tragerea" lor de pe ToolBox.

Între directivele #region şi #endregion, găsim codul generat automat de VS.NET, la adăugarea celor două controale pe suprafaţa formei. Acolo unde începe definirea clasei, observăm declaraţiile celor două obiecte - controalele adăugate.

IDispose

Înainte de a continua, fac o mică paranteză. Metoda "Dispose" este declarată în interfaţa "IDispose". În C# avem operatorul "new", dar nu avem complementarul său "delete". Asta deoarece cu dealocările în .NET Framework se ocupă "Garbage Collector". Prin urmare nu avem un control strict când anume şi în ce ordine vor fi dealocate obiectele la care nu mai există nici o referinţă sau au ieşit din domeniul lor de vizibilitate. .NET Framework, pune la dispoziţie o interfaţă "IDispose", care poate fi folosită în mecanismul de moştenire, prin metoda "Dispose". Când un obiect urmează a fi dealocat, "Garbage Collector" verifică dacă acel obiect suportă interfaţa "IDispose" şi dacă da, atunci apelează metoda "Dispose".

"Anchor" şi "Dock"

Toate controale, au în .NET două proprietăţi, ceva cu totul nou faţă de cum erau obişnuiţi programatorii în Visual Basic 6.0, care scutesc de o grămadă de efort: anchor - permite unui control să păstreze distanţa absolută faţă de una sau mai multe margini ale containerului în care se află, prin redimensionarea sa; dock - un control este efectiv, lipit de una din marginile containerului său, modificându-şi şi dimensiunea. Folosind această proprietate putem zice că un control capătă comportamentul unui ToolBar.

Download gratuit

Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.

Structură de fișiere:
  • Programarea Aplicatiilor Windows in NET Framework.doc
Alte informații:
Tipuri fișiere:
doc
Nota:
7/10 (1 voturi)
Nr fișiere:
1 fisier
Pagini (total):
10 pagini
Imagini extrase:
10 imagini
Nr cuvinte:
3 431 cuvinte
Nr caractere:
18 343 caractere
Marime:
84.13KB (arhivat)
Publicat de:
NNT 1 P.
Nivel studiu:
Facultate
Tip document:
Curs
Domeniu:
Limbaje de Programare
Predat:
la facultate
Materie:
Limbaje de Programare
Profesorului:
Grecu Ramoni
Sus!