Você está na página 1de 26

1 | P a g e

C.N. Ferdinand I Bacu




Lucrare de atestat
Informatica
2013-2014



Autor: Murad Octavian-Vlad
Profesor coordonator: Intuneric Ana/Ctru
Colegiul National Ferdinand I Bacau
2 | P a g e

INTRODUCERE


Interfaa Visual C#













Fereastra Windows Forms Designer
n care s-a creat Form1
Fereastra Solution
Explorer
Fereastra Properties
Fereastra Toolbox
Fereastra pentru afiarearea
Listei de erori
Bara de meniuri Bara de unelte
3 | P a g e





Toate ferestrele, au n partea dreapt o piunez, care, dac este n poziie
vertical fixez fereastra deschis. n caz contrar fereastra se nchide,
retrgndu-se n partea dreapt sau stng a mediului de programare.

Orice fereastr poate fi aranjat ntr-o poziie dorit de utilizator. Pentru
aceasta dm clic pe una dintre barele de titlu ale ferestrelor menionale mai sus
(Solution Explorer, Properties, Toolbox sau Error List) si o deplasm n poziia
dorit. n acest proces vei fi ghidat de sgeile care apar central i pe margini. De
preferat ar fi ca aceste ferestre s rmn n poziiile lor implicite.




Barele de instrumente

4 | P a g e

Implicit, la crearea unui proiect windows, apar dou bare de instrumente

Prima bar de unelte




unde:

Icoana Semnificaie

proiect nou (Ctrl+Shift+A)

adugare de noi itemi (Ctrl+Shift+A)


deschide fiier (Ctrl+O)

salveaz Form1.cs (Ctrl+S)

salveaz tot proiectul (Ctrl+Shift+O)


cut (Ctrl+X)

copy (Ctrl+C)

paste (Ctrl+V)

undo (un pas napoi) (Ctrl+Z)
5 | P a g e

Icoana Semnificaie

redo (un pas nainte) (Ctrl + Y)

navigare napoi n cod sau ferestre (Ctrl + -)

navigare nainte n cod sau ferestre (Ctrl + Shift -)

Start debugging (F5) Compileaz proiectul i-l lanseaz n modul
debug

Solution Configuration

Solution Platform

cutare i nlocuire (Ctrl + Shift + F)


fereastra pentru cutare

fereastra Solution Explorer (Ctrl + W, S)

fereastra Properties (Ctrl + W, P)

fereastra Object Browser (Ctrl + W, J)

fereastra Toolbox (Ctrl + W, X)

fereastra de start Start Page

fereastra Document Outline (Ctrl + W, U)



6 | P a g e


Adoua bar de instrumente se folosete atunci cnd dorim s acionm asupra
mai multor controale din fereastra noastr, i anume pentru: alinieri, spaieri,
redimensionri, aducerea n fa/spate a unora dintre controalele existente. Icoanele
aflate pe aceast bar sunt deosebit de sugestive pentru aciunea pe care o realizeaz.




Fereastra Toolbox


Revenind la fereastra Toolbox. Putem s
deschidem una dintre opiunile din fereastr
apsnd semnul plus din fa. De exmplu, dac
deschidem Common Controls n fereastr apar
controale mai des folosite. Orice control poate fi
adus pe Form-ul nostru (i vom putea spune, n
egal msur, fereastr, interfa, formular) prin
dublu clic pe respectivul control, sau prin drag
and drop n Form.

Fereastra Solution Explorer

Vom observa c n momentul n care dm clic pe Form sau pe un control,
fereastra din dreapta, Properties, se va referi la acesta control sau aceast fereastr.

Fereastra Solution Explorer, din partea
dreapt se refer, printre altele la ferestra
Designer sau la fereastra n care utilizatorul va
scrie propriul cod.

n cazul n care fereastra Designer este
nchis, putem apela la opiunea Open i va
reaprea n fereastra central. Dac dorim s
vedem codul, apsm pe opiunea View Code,
iar n fereastra principal se va deschide, nc o
ferestr corespunztoare codului dorit.
Acelai lucru l putem spune i despre
Properties.cs, din aceeai fereastr.

7 | P a g e

n toate cazurile menionate mai sus, pentru a obine efectul afiat i n
imagini, se va aciona butonul din dreapta al mouse-ului.

Despre opiunile care apar n cazul n care dm clic dreapta pe Test, vom
discuta, la modul concret, n unele dindre exemplele are urmeaz








Fereastra Properties

Aminteam mai sus c n Toolbox exist toate tipurile de controale care i sunt
necesare unui programator pentru a realiza o aplicaie.

Cele mai multe controale sunt obiecte de clase derivate din clasa
System.Windows.Forms.Control. Datorit acestui fapt multe dintre
proprietile i evenimentele diverselor controale vor fi identice. Vom vedea, n
aplicaiile care urmeaz, c exit clase care definesc controale i care pot fi clase de
baz pentru alte controale.

Fereastra Properties, din interfaa mediului de programare, vom observa c
va conine att proprietile ct i evenimentele ataate controalelor. Proprietile
controalelor, sunt motenite sau supranscrise din clasa de baz Control. Tabelul de
mai jos prezint proprietile comune controalelor, proprieti furnizate de ctre
clasa Control:

Proprietatea Descrierea proprietii
Anchor se refer la posibilitatea de a ancora controlul fa de o margine
(sau toate)
BackColor permite stabilirea culorii de fundal a controlului
Bottom permite stabilirea distanei dintre marginea de sus a ferestrei i
control
Dock ataeaz controlul la una dintre marginile ferestrei
Enabled permite controlului s recepioneze evenimente de la utilizator
ForeColor permite stabilirea culorii textului
8 | P a g e

Proprietatea Descrierea proprietii
Height permite definirea nlimii controlului
Left permite stabilirea distanei dintre marginea din stnga a
ferestrei i marginea stnga a controlului
Name permite denumirea controlului pentru a-l putea mai uor
vizualiza i manipula n codul surs
Parent printele controlului
Right permite stabilirea distanei dintre marginea din dreapta a
ferestrei i marginea din dreapta a controlului
TabIndex prin numrul de ordine care i se ataeaz se stabilete ordinea
activrii controlului la apsarea tastei TAB
TabStop permite sau nu ca respectivul control s fie activat prin apsarea
tastei TAB
Tag se refer la un ir de caractere pe care controlul l poate stoca n
interiorul su
Top permite stabilirea distanei dintre marginea de sus a ferestrei i
marginea de sus a controlului
Visible stabilete dac respectivul control, care exit n fereastr, este
(TRUE) sau nu vizibil
Width stabilete limea controlului


Aplicaiile pe care le crem trebuie s fie capabile, prin intermediul
controalelor, s sesizeze aciunea utilizatorului asupra respectivelor controale. n
funcie de tipul aciunii vor reaciona, printr-o secven de cod sau alta. Tot clasa
Control amintit mai sus, implementeaz i o serie de evenimente la care
controalele vor reaciona:


Evenimentul Descrierea evenimentului
Click se genereaz cnd se d clic asupra unui control
DoubleClick se genereaz cnd se d dublu clic asupra unui control. Excepie
fcnd Button asupra cruia nu se va putea face dublu clic,
deoarece controlul acioneaz la primul clic
DragDrop se genereazla finalizarea lui drag and drop
DragEnter se genereaz atunci cnd obiectul, printr-un drag and drop,
ajunge n interiorul controlului
DragLeave se genereaz atunci cnd obiectul, printr-un drag and drop,
ajunge s prseasc controlului
DragOver se genereaz atunci cnd obiectul, printr-un drag and drop,
9 | P a g e

Evenimentul Descrierea evenimentului
ajunge deasupra controlului
KeyDown se genereaz atunci cnd o tast este apsat n timp ce
controlul este activ. Se va furniza codul ASCII al tastei apsate.
Se genereaz nainte de evenimentele KeyPress i KeyUp
KeyPress se genereaz atunci cnd o tast este apsat n timp ce
controlul este activ. Se va furniza codul de scanare al tastei
apsate. Se genereaz dup KeyDown i nainte de KeyUp
KeyUp se genereaz cnd o tast este eliberat n timp ce controlul este
activ. Se genereaz dup KeyDown i KeyPress
GotFocus se genereaz cnd controlul devine activ (se mai spune: cnd
controlul primete input focusul)
LostFocus se genereaz cnd controlul devine inactiv (se mai spune: cnd
controlul pierde input focusul)
MouseDown se genereaz cnd cursorul mouse-ului este deasupra
controlului i se apas un buton al mouse-ului
MouseMove se genereaz cnd trecem cu mouse-ul deasupra controlului
MouseUp se geereaz cnd mouse-ul este deasupra controlului i eliberm
un buton al mouse-ului
Paint se genereaz la desenarea controlului
Validated se genereaz cnd un control este pe cale s devin activ. Se
genereaz dup terminarea evenimentului Validating, indicnd
faptul c validarea controlului este complet
Validating se genereaz cnd un control este pe cale s devin activ

Aplicatie

In cele ce urmeaza ne propunem sa construim un program ce ne va ajuta s
prezentm unui proiect. Programul contine 9 Form-uri organizate dupa schema
prezentat mai jos:


Deschidere










Inchidere
Form1
Form3
Form2
Form5
Form7
Form4
Form8
Form9
Form6
10 | P a g e

Form 1 deschide programul, reprezentand o cale de acces cu parola.
Form 3 apare doar in cazul in care parola este gresita, redirectionandu-l pe
utilizator inapoi la Form1.
Form 2 apare atunci cand parola este introdusa correct, reprezentand meniul
aplicatiei si fiind singura cale de iesire definitive din program.
Form-urile 4,5,6,7,8,9, reprezinta capitole sau diferite aplicatii ale proiectului,
toate, cu exceptia Form-ului 8 care este o prelungire a Form-ului 6, beneficiind de o
cale de intoarcere catre Form-ul 2.

Form 1

Design



Form 1 apare in momentul in care programul este deschis, permitandu-i
utilizatorului sa acceseze proiectul in cazul in care introduce parola corecta sau sa il
directioneze spre Form 3 in caz contrar. Label-urile 1 si 2 precum si Button-ul 1 isi vor
pastra propietatile normale, cu exceptia unor modificari la nivelul Fontului.
Utilizatorul va introduce parola in Textbox1, care prin adaugarea caracterului *in
dreptul proprietatii Passwordchar, va inlocui fiecare litera cu caracterul *. La
apasarea Button-ului 1, utilizatorul va fi directionat in functie de corectitudinea
parolei, fie catre Form-ul 1, fie catre Form-ul 3.

Cod

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;

Label1
Label2
Textbox1
Button1
11 | P a g e

namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
this.Top = 0;
this.Left = 0;

}

private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text == "muradvlad16")
{
Form2 Form2 = new Form2();
Form2.Show();
this.Hide();
}
else
{
Form3 Form3 = new Form3();
Form3.Show();
this.Hide();
}
}
}
}

Form3

Design


Button1
Label1
12 | P a g e

Form-ul 3 nu are alta functie decat sa il redirectioneze pe utilizator prin apasarea
Button-ului 1 inapoi catre Form-ul 1, toate componentele pastrandu-si
caractersiticile initiale.

Cod

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 WindowsFormsApplication1
{
public partial class Form3 : Form
{
public Form3()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
Form1 Form1 = new Form1();
Form1.Show();
this.Close();
}

private void Form3_Load(object sender, EventArgs e)
{
this.Top = 0;
this.Left = 0;
}
}
}

Form 2

Design

Form-ul 2 joaca rolul meniului, fiind dotat cu 5 Button-uri ce permit accesul spre
diferite capitole sau aplicatii ale proiectului. De asemenea , Form-ul 2 are Button-ul 6
care ofera utilizatorului posibiliatea de a parasi definitive programul prin actiunea
Application.Exit();. Imaginea de fundal a Form-ului 2 a fost schimbata cu ajutorul
proprietatii BackgroundImage, adaugandu-se o imagine salvata in computer.
13 | P a g e




Cod

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 WindowsFormsApplication1
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}

private void Form2_Load(object sender, EventArgs e)
{
this.Top = 0;
this.Left = 0;
}

private void button1_Click(object sender, EventArgs e)
{
Form4 Form4 = new Form4();
Form4.Show();
Button5

Button4

Button3

Button2

Button1
Label1
Button6

14 | P a g e

this.Close();
}

private void button2_Click(object sender, EventArgs e)
{
Form5 Form5 = new Form5();
Form5.Show();
this.Close();
}

private void button3_Click(object sender, EventArgs e)
{
Form6 Form6 = new Form6();
Form6.Show();
this.Close();
}

private void button4_Click(object sender, EventArgs e)
{
Form7 Form7 = new Form7();
Form7.Show();
this.Close();
}

private void button5_Click(object sender, EventArgs e)
{
Form9 Form9 = new Form9();
Form9.Show();
this.Close();
}

private void button6_Click(object sender, EventArgs e)
{
Application.Exit();
}
}
}

Form 4

Design

Intrucat Form-ul 4 reprezinta doar introducerea, este cel mai simplu dintre toate
capitolele proiectului. Imaginea de fundal a Form-ului 4 a fost schimbata cu ajutorul
proprietatii BackgroundImage, adaugandu-se o imagine salvata in computer.
Textbox-ul 1 are un format read only ce nu ii permit utilizatorului sa modifice
continutul, lucru realizat prin introducerea valorii Truein dreptul proprietatii
ReadOnly. Prin apasarea Button-ului 1, utilizatorul revine in meniu.

15 | P a g e





Cod

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 WindowsFormsApplication1
{
public partial class Form4 : Form
{
public Form4()
{
InitializeComponent();
}

private void Form4_Load(object sender, EventArgs e)
{
this.Top = 0;
this.Left = 0;
}

private void button1_Click(object sender, EventArgs e)
{
Form2 Form2 = new Form2();
Form2.Show();
this.Close();
}
}
}
Button1
Textbox1
Label1
16 | P a g e

Form5

Design





Form-ul 5 este o parte foarte importanta a proiectului prezentand informatii
referitoare la viata lui Albert Einstein. Intrucat cantitatea de informatii este foarte
mare, trebuie gasita o modalitate de a integra tot textul in cadrul Form-ului 5. In
momentul in care Form-ul 5 este deschis, urmatoarele obiecte sunt vizibile: Label1,
Label2, Label3, Label4,Button 1. Restul elementelor sunt facute invizibile setand
proprietatea Visible ca fiind falsa. In momentul in care utilizatorul face click pe
oricare dintre Label-urile 2,3 sau 4, ce reprezinta subtitluri, Textbox-ul continand
informatii referitoare la subtitlul ales isi va face aparitia pe ecran, alaturi de Button-ul
2(Minimize) si Button-ul 3( Full Screen), iar Label-urile cu exceptia celui selectat,
precum si Button-ul 1 vor disparea. Daca Button-ul 2(Minimize) va fi apasat, Form-ul
2 va revenii la starea initiala, insa daca Button-ul 3( Full screen) va fi apasat, Form-ul
2 se va extinde pe intreg ecranul, textul va fi redimensionat( cu ajutorul unei noi clase
System.Drawing), iar Button-ul 4 isi va face aparitia, permitand utilizatorului
intoarcerea la starea precedent apasarii Button-ului 3. Textbox-urile au un format
read only ce nu ii permit utilizatorului sa modifice continutul, lucru realizat prin
introducerea valorii Truein dreptul proprietatii ReadOnly. In final, Button-ul 1
permitea intoarcerea la meniu.

Cod

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
Label1

Label2

Label3

Label4

Textbox1
Textbox2

Textbox3

Button4

Button3

Button2

Button1

17 | P a g e

using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
public partial class Form5 : Form
{
public Form5()
{
InitializeComponent();
}

private void Form5_Load(object sender, EventArgs e)
{
this.Top = 0;
this.Left = 0;
}

private void button1_Click(object sender, EventArgs e)
{
Form2 Form2 = new Form2();
Form2.Show();
this.Close();
}

private void label2_Click(object sender, EventArgs e)
{
textBox1.Visible = true;
button2.Visible = true;
button1.Visible = false;
label3.Visible = false;
label4.Visible = false;
button3.Visible = true;
}

private void label3_Click(object sender, EventArgs e)
{
textBox2.Visible = true;
button2.Visible = true;
button1.Visible = false;
label2.Visible = false;
label4.Visible = false;
button3.Visible = true;
}

private void label4_Click(object sender, EventArgs e)
{
textBox3.Visible = true;
button2.Visible = true;
button1.Visible = false;
18 | P a g e

label2.Visible = false;
label3.Visible = false;
button3.Visible = true;
}

private void button2_Click(object sender, EventArgs e)
{
if (label2.Visible == true)
{
textBox1.Visible = false;
button2.Visible = false;
button1.Visible = true;
label3.Visible = true;
label4.Visible = true;
button3.Visible = false;
}
if (label3.Visible == true)
{
textBox2.Visible = false;
button2.Visible = false;
button1.Visible = true;
label2.Visible = true;
label4.Visible = true;
button3.Visible = false;
}
if (label4.Visible == true)
{
textBox3.Visible = false;
button2.Visible = false;
button1.Visible = true;
label2.Visible = true;
label3.Visible = true;
button3.Visible = false;
}
}

private void button3_Click(object sender, EventArgs e)
{
if (label2.Visible == true)
{
this.TopMost = true;
this.FormBorderStyle = FormBorderStyle.None;
this.WindowState = FormWindowState.Maximized;
Graphics g = this.textBox1.CreateGraphics();
SizeF s = g.MeasureString(this.textBox1.Text, this.textBox1.Font);
this.textBox1.Width = 1280;
this.textBox1.Height = 600;
System.Drawing.Font myFont = new System.Drawing.Font("Microsoft Sans
Serif", 20);
this.textBox1.Font = myFont;
button2.Visible = false;
19 | P a g e

button3.Visible = false;
button4.Visible = true;
}
if (label3.Visible == true)
{
this.TopMost = true;
this.FormBorderStyle = FormBorderStyle.None;
this.WindowState = FormWindowState.Maximized;
Graphics g2 = this.textBox1.CreateGraphics();
SizeF s2 = g2.MeasureString(this.textBox1.Text, this.textBox1.Font);
this.textBox2.Width = 1280;
this.textBox2.Height = 600;
System.Drawing.Font myFont2 = new System.Drawing.Font("Microsoft
Sans Serif", 20);
this.textBox2.Font = myFont2;
button2.Visible = false;
button3.Visible = false;
button4.Visible = true;
}
if (label4.Visible == true)
{
this.TopMost = true;
this.FormBorderStyle = FormBorderStyle.None;
this.WindowState = FormWindowState.Maximized;
Graphics g4 = this.textBox1.CreateGraphics();
SizeF s4 = g4.MeasureString(this.textBox1.Text, this.textBox1.Font);
this.textBox3.Width = 1280;
this.textBox3.Height = 600;
System.Drawing.Font myFont4 = new System.Drawing.Font("Microsoft
Sans Serif", 15);
this.textBox3.Font = myFont4;
button2.Visible = false;
button3.Visible = false;
button4.Visible = true;
}
}

private void button4_Click(object sender, EventArgs e)
{
if (label2.Visible == true)
{
this.TopMost = false;
this.FormBorderStyle = FormBorderStyle.Sizable;
this.WindowState = FormWindowState.Normal;
Graphics g1 = this.textBox1.CreateGraphics();
SizeF s2 = g1.MeasureString(this.textBox1.Text, this.textBox1.Font);
this.textBox1.Width = 690;
this.textBox1.Height = 311;
System.Drawing.Font myFont3 = new System.Drawing.Font("Microsoft
Sans Serif", 8);
this.textBox1.Font = myFont3;
20 | P a g e

button4.Visible = false;
button3.Visible = true;
button2.Visible = true;
}
if (label3.Visible == true)
{
this.TopMost = false;
this.FormBorderStyle = FormBorderStyle.Sizable;
this.WindowState = FormWindowState.Normal;
Graphics g3 = this.textBox1.CreateGraphics();
SizeF s3 = g3.MeasureString(this.textBox1.Text, this.textBox1.Font);
this.textBox2.Width = 690;
this.textBox2.Height = 311;
System.Drawing.Font myFont1 = new System.Drawing.Font("Microsoft Sans
Serif", 8);
this.textBox2.Font = myFont1;
button4.Visible = false;
button3.Visible = true;
button2.Visible = true;
}
if (label4.Visible == true)
{
this.TopMost = false;
this.FormBorderStyle = FormBorderStyle.Sizable;
this.WindowState = FormWindowState.Normal;
Graphics g5 = this.textBox1.CreateGraphics();
SizeF s5 = g5.MeasureString(this.textBox1.Text, this.textBox1.Font);
this.textBox3.Width = 690;
this.textBox3.Height = 311;
System.Drawing.Font myFont5 = new System.Drawing.Font("Microsoft
Sans Serif", 8);
this.textBox3.Font = myFont5;
button4.Visible = false;
button3.Visible = true;
button2.Visible = true;
}
}
}
}

Form 6

Design

Form-ul 6 prezinta munca lui Albert Einstein. Datorita cantitatii mari de informative,
Button-ul 2 va duce la Form-ul 8 care reprezinta o continuare a Form-ului 6, avand
aproximativ acelasi design si acelsi cod. Imaginea de fundal a Form-ului 4 a fost
schimbata cu ajutorul proprietatii BackgroundImage, adaugandu-se o imagine
salvata in computer. Textbox-urile au un format read only ce nu ii permit
21 | P a g e





utilizatorului sa modifice continutul, lucru realizat prin introducerea valorii Truein
dreptul proprietatii ReadOnly. La intrarea in Form-ul 6, toate obiectele sunt visible,
cu exceptia Picturebox-urilor si a Label-urilor 3 si 5, care sunt facute invizibile prin
introducerea optiunii Falsein dreptul proprietatii Visible. Obiectele invizibile vor
devini vizibile in momentul in care utilizatorul va plasa cursorul mouse-ului deasupra
Label-urilor 3 si 5 si vor disparea dupa ce cursorul va fi indepartat. Acest lucru se
realizeaza accesand submeniu Actions din fereastra Proprieties si atribuind actiuni ce
vor duce la aparitia si disparitia obiectelor mentionate mai sus in dreptul actiunilor
MouseHover si MouseLeave. Button-ul 2 permite utilizatorului sa se intoarca la
meniu.

Cod

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 WindowsFormsApplication1
{
public partial class Form6 : Form
{
public Form6()
{
InitializeComponent();
}

Label1

Picturebox1

Textbox2

Picturebox2

Button2

Textbox4

Button1

Label 5

Textbox3

Label4

Label2

Textbox1

Label3

22 | P a g e

private void Form6_Load(object sender, EventArgs e)
{
this.Top = 0;
this.Left = 0;
}

private void button1_Click(object sender, EventArgs e)
{
Form2 Form2 = new Form2();
Form2.Show();
this.Close();
}

private void button2_Click(object sender, EventArgs e)
{
Form8 Form8 = new Form8();
Form8.Show();
this.Close();
}


private void a(object sender, EventArgs e)
{
pictureBox1.Visible = true;
textBox2.Visible = true;
}

private void b(object sender, EventArgs e)
{
pictureBox1.Visible = false;
textBox2.Visible = false;
}

private void c(object sender, EventArgs e)
{
pictureBox2.Visible = true;
textBox4.Visible = true;
}

private void d(object sender, EventArgs e)
{
pictureBox2.Visible = false;
textBox4.Visible = false;
}
}
}




23 | P a g e

Form 7

Design











Form-ul 7 permite utilizatorului sa caute pe Google sau intr-un document Word
mai multe informatii despre Albert Einstein. Imaginea de fundal a Form-ului 7 a fost
schimbata cu ajutorul proprietatii BackgroundImage, adaugandu-se o imagine
salvata in computer. Pentru a cauta pe Google el trebuie sa scrie in cadrul
Richtextbox1 ceea ce doreste sa caute si sa dea click pe Button-ul 2, iar programul
prin intermediul actiunii Process.Start() ce necesita accesarea clasei
System.Diagnostics, va deschide browser-ul utilizatorului la pagina de Google cu
raspunsurile la cautarea sa. Pentru a cauta si a sublinia rezultatele gasite intr-un
document Word, utilizatorul trebuie sa introduca cuvantul sau propozitie cautata in
Richtextbox-ul 2 si sa apese Button-ul 3. Pentru a putea accesa un document Word
din programul Visual Studio, trebuie intrat in meniu Project>Add reference, de unde
se van selecta din cadrul componentelor de tip COM, Microsoft Word Object Library.
Odata adaugata, aceasta clasa va fi accesata cu ajutorul urmatoarei secvente:
using Word = Microsoft.Office.Interop.Word; Daca executarea comenzii intampina
vreo eroare, un Messagebox cu textul Error si cu problema identificata isi va face
aparitia. Pentru a revenii in meniu utilizatorul trebuie sa apese Button-ul 3.

Cod

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;
using System.Diagnostics;
using Word = Microsoft.Office.Interop.Word;

namespace WindowsFormsApplication1
{
Button3

Label1

Label2

Label 3

Richtextbox2

Button2

Button3

Richtextbox1

24 | P a g e

public partial class Form7 : Form
{
public Form7()
{
InitializeComponent();
}


private void Form7_Load(object sender,
EventArgs e)
{
this.Top = 0;
this.Left = 0;
}

private void button1_Click(object sender, EventArgs e)
{
Form2 Form2 = new Form2();
Form2.Show();
this.Close();
}

private void button2_Click(object sender, EventArgs e)
{
string gotourl = "http://google.com/search?q="+richTextBox1.Text;
Process.Start(gotourl);
}

private void button3_Click(object sender, EventArgs e)
{
object fileName = "D:\\Vlad/scoala/Albert Einstein atestat.docx";
string textToFind = richTextBox2.Text;
Word.Application word = new Word.Application();
Word.Document doc = new Word.Document();
object missing = System.Type.Missing;
try
{
doc = word.Documents.Open(ref fileName, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing);
doc.Activate();
foreach (Word.Range docRange in doc.Words)
{
if (docRange.Text.Trim().Equals(textToFind,
StringComparison.CurrentCultureIgnoreCase))
{
docRange.HighlightColorIndex =
Microsoft.Office.Interop.Word.WdColorIndex.wdDarkYellow;
docRange.Font.ColorIndex =
Microsoft.Office.Interop.Word.WdColorIndex.wdWhite;
25 | P a g e

}
}
}
catch (Exception ex)
{
MessageBox.Show("Error : " + ex.Message);
}
}
}
}

Form 9

Design













Form-ul 9 reprezinta un test de verificare a cunostiintelor ce au putut fi acaparate
de catre cititor dupa citirea informatiilor prezentate in proiect. Imaginea de fundal a
Form-ului 9 a fost schimbata cu ajutorul proprietatii BackgroundImage, adaugandu-
se o imagine salvata in computer. Testul curpinde 5 intrebari, fiecare intrebare fiind
scrisa prin intermediul unui Label numerotat de la 2 la 6. Variantele de raspuns
reprezinta Radiobutton-uri grupate cate 4 in Panel-uri numerotate de la 1 la 5,
permitand astfel utilizatorului sa aleaga un singur raspuns. Dup ace termina de
raspuns la intrebari, utilizatorul va apasa Button-ul do ice van returna prin
intermediul uni Messagebox, numarul de raspunsuri correct. Pentru a reveni la
meniu este necesara apasarea Button-ului 1.

Cod

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
Button2 Button1
Label2

Label1

Panel1
Panel2

Panel3
Panel4
Panel5
Label3

Label4

Label5

Label6

26 | P a g e

using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
public partial class Form9 : Form
{
public Form9()
{
InitializeComponent();
}

private void Form9_Load(object sender, EventArgs e)
{
this.Top = 0;
this.Left = 0;
}

private void button1_Click(object sender, EventArgs e)
{
Form2 Form2 = new Form2();
Form2.Show();
this.Close();
}

private void button2_Click(object sender, EventArgs e)
{
int i;
i = 0;
if (radioButton2.Checked == true)
i++;
if (radioButton6.Checked == true)
i++;
if (radioButton10.Checked == true)
i++;
if (radioButton13.Checked == true)
i++;
if (radioButton17.Checked == true)
i++;
MessageBox.Show("You got " + i + " answers right");
}


}
}

Você também pode gostar