Я делал класс RAII, который принимает элемент управления System.Windows.Form и устанавливает его курсор. И в деструкторе он возвращает курсор к тому, что было.
Но разве это плохая идея? Можно ли надежно полагать, что деструктор будет вызываться, когда объекты этого класса выходят из области видимости?