Обычно это делается путем сохранения набора объектов, которые вы хотите нарисовать. Щелчок мыши должен обновить эту коллекцию, а затем сообщить окну (или области воздействия), что нужно обновить. Это имеет огромное преимущество - сохранить все, что вы нарисовали, если окно перемещено за экран, скрыто за другими окнами, свернуто и т. Д.
В качестве элементарного решения создайте иерархию доступных для рисования типов фигур, полученных из общего абстрактного класса Shape, и используйте, например, список для коллекции. Базовый класс Shape будет иметь абстрактный метод Draw, который переопределяют производные классы.
Чтобы получить более промышленное решение, посмотрите на двухмерные графы сцен.