Посмотрите на код в этой статье:
Draw Over WinForms Controls
Автор создал компонент, который (как он его описывает) похож накусок стекла над вашей формой.Затем ваш код рисует на этом «стекле» над элементами управления, наложенной на него формой и т. Д.
Одно серьезное ограничение, которое повлияет на вас, заключается в том, что он не рисует над некоторыми элементами управления (включая TextBox).Эти ограничения (и их причины) описаны в статье, но код в статье может быть тем, что вы ищете (или может послужить отправной точкой для вашего собственного решения).