Deschidem un proiect nou de tipul Windows Form Aplication. Vom începe prin atașarea câtorva controale.
SplitContainer
Un container este un obiect care grupează mai multe obiecte. Tragem pe suprafața formei Form1 un control de tipul SplitContainer. Acesta are rolul de a împărți suprafața de lucru în două părți, delimitate de un marcaj care poate fi repoziționat prin tragere cu mous-ul.
Button
Controlul Button este folosit de regulă pentru declanșarea unei acțiuni la apariția evenimentului Click. În aplicația următoare vom exersa modificarea la run-time a unor proprietăți ale butonului, ca de pildă culoarea, textul afișat, andocarea (lipirea de o margine a containerului). De asemenea, vom trata, în afară de evenimentul Click, și evenimentele MouseEnter (intrarea mous-ului pe suprafața butonului) și MouseLeave (ieșirea mou-sului de pe suprafața butonului).
Atașăm 3 butoane, unul în panoul din stânga, două în panoul din dreapta, unul sub altul.
Tratăm evenimentul Click al butonului 1. Dorim ca în mod alternativ să andocăm și să dez-andocăm butonul, simultan să-i schimbăm textul afișat.
private void button1_Click(object sender, EventArgs e)
{
//Daca butonul este andocat umple panoul
if (button1.Dock==DockStyle.Fill)
{
//il readucem la forma si eticheta initiale
button1.Dock = DockStyle.None;
}
else
{
//il andocam si schimbam eticheta
button1.Dock = DockStyle.Fill;
button1.Text = "Fill!!";
}
}
{
//Daca butonul este andocat umple panoul
if (button1.Dock==DockStyle.Fill)
{
//il readucem la forma si eticheta initiale
button1.Dock = DockStyle.None;
}
else
{
//il andocam si schimbam eticheta
button1.Dock = DockStyle.Fill;
button1.Text = "Fill!!";
}
}
Selectăm Button2 și din panoul Properties setăm proprietatea BackColor la valoarea Red siproprietatea Text la valoarea Roșu. tot din Properties selectăm evenimentul MouseEnter și introducem codul care urează:
private void button2_MouseEnter(object sender, EventArgs e)
{
//setam fundalul la culoarea galbena
button2.BackColor = Color.Yellow;
button2.Text = "Galben";
}
{
//setam fundalul la culoarea galbena
button2.BackColor = Color.Yellow;
button2.Text = "Galben";
}
Similar, tratăm evenimentul MouseLeave:
private void button2_MouseLeave(object sender, EventArgs e)
{
//resetm culoarea fundalului si textul
button2.BackColor = Color.Red;
button2.Text = "Rosu";
}
{
//resetm culoarea fundalului si textul
button2.BackColor = Color.Red;
button2.Text = "Rosu";
}
Introducem o comandă de exit aplicație pe evenimentuul Click al butonului 3:
private void button3_Click(object sender, EventArgs e)
{
Application.Exit();
}
{
Application.Exit();
}
Lansăm în execuție.
LinkLabel
Atașăm în panoul din dreapta două controale de tipul LinkLabel. Schimbăm proprietatea Text a lui LinkLabel1 la valoarea Vizitati www.yahoo.com iar a lui LinkLabel2 in Lansati Notepad.
Selectăm eticheta LinkLabel1 și din Properties expandăm nodul LinkArea și setăm proprietatea start la valoarea 9, ceea ce înseamnă că link-ul începe după al 9-lea caracter al proprietății Text.
Tratăm evenimentul Click al lui LinkLabel1 în felul următor:
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
//schimba culoarea link-ului dupa click
linkLabel1.LinkVisited = true;
//schimba textul in controlul Label
linkLabel1.Text = "Se viziteaza www.yahoo.com";
//se deschide un URL cu browserul implicit
System.Diagnostics.Process.Start("http://www.yahoo.com");
}
{
//schimba culoarea link-ului dupa click
linkLabel1.LinkVisited = true;
//schimba textul in controlul Label
linkLabel1.Text = "Se viziteaza www.yahoo.com";
//se deschide un URL cu browserul implicit
System.Diagnostics.Process.Start("http://www.yahoo.com");
}
Similar, evenimentul Click pentru Linklabel2:
private void linkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
linkLabel2.LinkVisited = true;
linkLabel2.Text = "S-a lansat Notepad";
//lanseaza Notepad
System.Diagnostics.Process.Start("notepad");
}
{
linkLabel2.LinkVisited = true;
linkLabel2.Text = "S-a lansat Notepad";
//lanseaza Notepad
System.Diagnostics.Process.Start("notepad");
}
Ambele etichete folosesc metoda Process.Start pentru a lansa o aplicație într-o fereastră nouă (broeserul implicit și Notepad).
Rulăm aplicația, care arată așa:
namespace ControlButtonAplication
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
//Daca butonul este andocat umple panoul
if (button1.Dock==DockStyle.Fill)
{
//il readucem la forma si eticheta initiale
button1.Dock = DockStyle.None;
}
else
{
//il andocam si schimbam eticheta
button1.Dock = DockStyle.Fill;
button1.Text = "Fill!!";
}
}
private void button3_MouseEnter(object sender, EventArgs e)
{
//setam fundalul la culoarea galbena
button2.BackColor = Color.Yellow;
button2.Text = "Galben";
}
private void button2_MouseLeave(object sender, EventArgs e)
{
//resetm culoarea fundalului si textul
button2.BackColor = Color.Red;
button2.Text = "Rosu";
}
private void button2_MouseEnter(object sender, EventArgs e)
{
//setam fundalul la culoarea galbena
button2.BackColor = Color.Yellow;
button2.Text = "Galben";
}
private void button3_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
//schimba culoarea link-ului dupa click
linkLabel1.LinkVisited = true;
//schimba textul in controlul Label
linkLabel1.Text = "Se viziteaza www.yahoo.com";
//se deschide un URL cu browserul implicit
System.Diagnostics.Process.Start("http://www.yahoo.com");
}
private void linkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
linkLabel2.LinkVisited = true;
linkLabel2.Text = "S-a lansat Notepad";
//lanseaza Notepad
System.Diagnostics.Process.Start("notepad");
}
}
}
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
//Daca butonul este andocat umple panoul
if (button1.Dock==DockStyle.Fill)
{
//il readucem la forma si eticheta initiale
button1.Dock = DockStyle.None;
}
else
{
//il andocam si schimbam eticheta
button1.Dock = DockStyle.Fill;
button1.Text = "Fill!!";
}
}
private void button3_MouseEnter(object sender, EventArgs e)
{
//setam fundalul la culoarea galbena
button2.BackColor = Color.Yellow;
button2.Text = "Galben";
}
private void button2_MouseLeave(object sender, EventArgs e)
{
//resetm culoarea fundalului si textul
button2.BackColor = Color.Red;
button2.Text = "Rosu";
}
private void button2_MouseEnter(object sender, EventArgs e)
{
//setam fundalul la culoarea galbena
button2.BackColor = Color.Yellow;
button2.Text = "Galben";
}
private void button3_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
//schimba culoarea link-ului dupa click
linkLabel1.LinkVisited = true;
//schimba textul in controlul Label
linkLabel1.Text = "Se viziteaza www.yahoo.com";
//se deschide un URL cu browserul implicit
System.Diagnostics.Process.Start("http://www.yahoo.com");
}
private void linkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
linkLabel2.LinkVisited = true;
linkLabel2.Text = "S-a lansat Notepad";
//lanseaza Notepad
System.Diagnostics.Process.Start("notepad");
}
}
}
Niciun comentariu:
Trimiteți un comentariu