End Google Ads 201810 - BS.net 01 --> I have a problem to under stand how delegates work (mainly because of where you declare it, i saw some webs and every web declared it in another place)
do i need to learn inheritance first?
My Code is:

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 Form1 : Form
{
public Label score = new Label();
public PictureBox[,] checkers_board = new PictureBox[8, 8];
public string[,] checkers_value = new string[8, 8];
public delegate void HandleBoardClick (object sender, int x, int y);
public event HandleBoardClick handleBoardClick;
//public int x = 0;
//public int y = 0;

public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
//first settings
ImageList imageList1 = new ImageList();
imageList1.Images.Add(Image.FromFile("Images\\silver.jpg"));
imageList1.Images.Add(Image.FromFile("Images\\gold.jpg"));
this.Text = "Dins Checkers";
this.Width = 600;
this.Height = 600;
Image loadGold = imageList1.Images[0];
Image loadSilver = imageList1.Images[1];
int goldEaten = 0;
int silverEaten = 0;
for (int i = 0; i < checkers_board.GetLength(0); i++)
{
for (int j = 0; j < checkers_board.GetLength(1); j++)
{
checkers_board[i, j] = new PictureBox();
if (i < 3)
{
if ((i % 2 == 0 && j % 2 == 0) || (i % 2 == 1 && j % 2 == 1))
{
checkers_board[i, j].BackgroundImage = loadGold;
checkers_value[i, j] = "gold-reg";
}
}
else if (i > 4)
{
if ((i % 2 == 1 && j % 2 == 1) || (i % 2 == 0 && j % 2 == 0))
{
checkers_board[i, j].BackgroundImage = loadSilver;
checkers_value[i,j] = "silver-reg";
}
}
else
{
checkers_value[i,j] = "none";
}
checkers_board[i, j].BorderStyle = BorderStyle.Fixed3D;
if ((i % 2 == 0 && j % 2 == 0) || (i % 2 == 1 && j % 2 == 1))
{
checkers_board[i, j].BackColor = Color.White;
}
if (checkers_board[i, j].BackColor != Color.White)
{
checkers_board[i, j].BackColor = Color.Black;
}
checkers_board[i, j].Top = 30 + 55 * i;
checkers_board[i, j].Width = 61;
checkers_board[i, j].Height = 53;
checkers_board[i, j].Left = 30 + 65 * j;
this.Controls.Add(checkers_board[i, j]);
}
}

score.Text = "?????: ?????? ??????- " + goldEaten.ToString() + " ?????? ??????- " + silverEaten.ToString();
score.Top = 510;
score.Left = 250;
score.Width = 500;
this.Controls.Add(score);

for (int i = 0; i < checkers_board.GetLength(0); i++)
{
for (int j = 0; j < checkers_board.GetLength(1); j++)
{
//if (checkers_board[i, j].Click != null)
//{
// x = i;
// y = j;
// checkers_board[i, j].Click += new EventHandler(HandleBoardClick);
//}
//checkers_board[i, j].Click += new EventHandler(BoardOnClick(sender, e, i, j));
if (Control.Click != null)
{
x = i;
y = j;
checkers_board[i, j].Click += new HandleBoardClick(HandleBoardClick1);
}
//checkers_board[i,j].handleBoard
}
}
//BoardOnClick(sender, e, 2, 2);
//checkers_board[2,2].Click += new HandleBoardClick(handleBoardClick1(sender,2,2));
}

private void HandleBoardClick1(object sender, EventArgs e, int x, int y)
{
for (int i = x - 1; i