1. Метод – съставна част от програма, която решава даден проблем и може да приема параметри.
2. Ползи от методите
а) преизползване на кода: пишем един код, който можем да използваме след това бързо и лесно колкото пъти пожелаем.
б) по-добро структуриране на кода
3. Използване на методи
а) деклариране – обявяваме, че ще използваме метода, като му даваме име и списък с параметри в скоби.
static void <име_на_метод> (){…}
б) имплементиране – реализира логиката на метода. Тук пишем кода на метода.
в) извикване – стартиране на кода на метода (имплементацията) за конкретни параметри. Извикването става чрез името на метода и параметри, за които искаме да се изпълни този метод.

Пример 1: Да се напише метод, който променя цвета и съдържанието на Етикет 1. Метода да се извиква с натискане на Бутон1 и Бутон2.

Methods - Demo1

 public void label1Print()
 {
   label1.Text = "Човек е това, в което вярва. - А. Чехов";
   label1.ForeColor = Color.Green;
 }

 private void button1_Click(object sender, EventArgs e)
 {
   label1Print();
 }

 private void button2_Click(object sender, EventArgs e)
 {
   label1Print();
 }

Пример 2: Да се напише метод, който променя цвета и съдържанието на етикет. Метода да се извиква с натискане на Бутон1 и Бутон2.

Methods - Demo2
public void labText(Label lab, Color col)
 {
   lab.Text = "Човек е това, в което вярва. - А. Чехов";
   lab.ForeColor = col;
 }

 private void button1_Click(object sender, EventArgs e)
 {
   labText(label1, Color.Green);
 }

 private void button2_Click(object sender, EventArgs e)
 {
   labText(label2, Color.Blue);
 }

Пример 3: Да се напише метод, който имитира показване на информация за ФБ приятел – при натискане на приятел от списъка с приятели за чат, да се показва информация за него/нея.

Methods-FB copy 2 Methods-FB copy1
public void FBcopy(PictureBox pic1, PictureBox pic2)
 {
   label2.Text = name;
   label3.Text = age.ToString() + " years";
   label5.Text = about;
   label5.ForeColor = Color.Blue;
   pic1.Visible = true;
   pic2.Visible = false;
 }

 string name;
 int age;
 string about;
 private void pictureBox3_Click(object sender, EventArgs e)
 {
   name = "Elena";
   age = 28;
   about = "Programmer";
   FBcopy(pictureBox1, pictureBox2);
 }

 private void pictureBox4_Click(object sender, EventArgs e)
 {
   name = "Valentina";
   age = 25;
   about = "Prosecutor";
   FBcopy(pictureBox2, pictureBox1);
 }


Задачи за самостоятелнa работа:
1. Да се напише метод CalcProduct(int a, int b), който намира произведението на 2 числа и го отпечатва в етикет. Да се извика метода 3 пъти с бутони за различни стойности a и b.
б) Да се добави още 1 параметър Label lab – CalcProduct(int a, int b, Label lab), така че всеки път резултатът от 3-те извиквания да се отпечатва в различен етикет.
2. Като използвате метод направете WeTube, с дизайн подобен на YouTube. Да има списък с 2 видео клипа отстрани и като се избере видео клип да се показва в средата картинка от клипа, заглавие, брой гледания, брой харесвания, брой нехаресвания. И да се пресмята коефициент на харесване = харесвания / нехаресвания.

Methods-WeTube
3. Да се направи метод ShowProducts(Label lab, string [] products), който приема като параметър масив от продукти и ги отпечатва в етикет. Да се извика метода 2 пъти – за масив от 5 хранителни продукта и за масив от 6 напитки.
4. Към горния метод да се добави масив с цени на продуктите, които се отпечатват в друг етикет. Да се намери обща сума на продуктите.
Б*) Да се намери най-скъп продукт.