Аудиториска вежба 7 - finki-mk/VP GitHub Wiki

Цели на вежбата

  • Наследување на форми за цртање
  • Цртање и интеракција со форми

Пример апликација

Апликација за цртање на форми (кругови и квадрати). Формите се цртаат со двоен клик на работната површина на прозорецот.

Абстрактна класа за форма

public abstract class Shape
{
    public float X { get; set; }
    public float Y { get; set; }

    public bool Selected { get; set; }

    public Color Color { get; set; }

    public Shape(float x, float y, Color color)
    {
        X = x;
        Y = y;
        Color = color;
    }

    public abstract void Draw(Graphics g);

    public abstract bool IsHit(float x, float y);

    public void Move(float dx, float dy)
    {
        X += dx;
        Y += dy;
    }
}