#c_sharp #winforms
Подскажите как изменить курсор на свой? Делаю так : Cursor cur = new Cursor(new System.IO.MemoryStream(global::MSU.Properties.Resources.cursorDragDrop)); Пишет ошибку - Наиболее подходящий перегруженный метод для "System.IO.MemoryStream.MemoryStream(int)" имеет несколько недопустимых аргументов
Ответы
Ответ 1
К примеру можно сделать так (из доступных курсоров): Cursor.Current = Cursors.WaitCursor; Или же свой курсор вот так: Cursor.Current = new Cursor("C:\\<путь к файлу>\\icon.cur"); Кстати, обратите внимание на расширение файла .cur, к примеру .gif туда нельзя упаковать. В VisualStudio есть возможность создать Cursor File (по крайней мере была). Все что Вам нужно - это указать путь к файлу и собственно говоря - сам файл. Будет полезно: Cursors - свойства Если хочется зашить в программу, то думаю стоит добавить файл курсора(.cur) в ресурсы проекта. Затем в коде получить этот файл, конвертировать и создать курсор, что-то на подобии этого: var img = new Bitmap(WindowsFormsApplication1.Properties.Resources.myCursor); Icon icon = Icon.FromHandle(img.GetHicon()); Cursor cur = new Cursor(icon.Handle); Cursor.Current = cur; Данный код приведен в качестве альтернативного примера, но в нем имеются свои недостатки в виде утечки нативных ресурсов. Также, если кликнуть мышкой в окне чужой программы - может возникнуть проблема. Поэтому советую ознакомиться с этим ответом Change Cursor HotSpot in WinForms .NET, он будет более правильным, с использованием WinAPI.
Комментариев нет:
Отправить комментарий