Я пытаюсь добавить пользовательский курсор в приложение C # Winforms в качестве встроенного ресурса.Кажется, что встраиваемая часть не работает, как следует из документации.
Если я загружаю курсор из файла во время выполнения, он работает нормально:
myMagCursor = new Cursor("../Resources/magnify.cur");
Так что кажется, что курсорфайл хороший.Я следовал этой информации на MSDN , чтобы вставить курсор (из комментариев в примере C #):
//In Visual Studio:
// 1. Select the cursor file in the Solution Explorer
// 2. Choose View->Properties.
// 3. In the properties window switch "Build Action" to "Embedded"
И затем попытался использовать его так:
myMagCursor = new Cursor(GetType(), "magnify.cur");
Что дает исключение нулевой ссылки, я предполагаю, потому что ресурс не найден.Я также попробовал этот подход (найденный в другом месте в Интернете):
namespace Piccolo.Forms
{
public partial class Hanger
{
...
Assembly asm = Assembly.GetExecutingAssembly();
using( Stream resStream = asm.GetManifestResourceStream("Piccolo.magnify.cur") )
{
myMagCursor = new Cursor( resStream );
}
Я попробовал "Piccolo.magnify.cur", "Piccolo.Forms.magnify.cur", "Piccolo.Forms.Hanger.magnify.cur "," Hanger.magnify.cur "и т. д. Я полагаю, что курсор не был встроен.
Файл курсора находится в папке ресурсов с кучей .ico, .png и .jpg.файлы, которые все работают правильно как кнопки панели инструментов и появляются в файле «Resources.resx» (?) в проекте.Ни у одного из них нет свойства «Встроенный ресурс».В моем файле курсора есть «Встроенный ресурс», но он не отображается в «Resources.resx».
Что мне не хватает в файле курсора, чтобы правильно его встроить?