Самый распространенный случай - знаменитые "песочные часы" при ожиданиия завершения какой-либо операции. Меняется курсор очень просто (предполагает код внутри винформы) - достаточно использовать класс Cursor:
this.Cursor = Cursors.WaitCursor; someVeryLongAndImportantFunction(); this.Cursor = Cursors.Default;
Список возможных курсоров можно посмотреть в свойствах класса Cursors
Спасибо очень помогло
А как сделать, чтобы курсор менялся и за пределами формы?