我花了很长时间在这方面工作,我几乎得到了它。然而,我正在遭受最后一个问题,它真的开始深入我的皮肤。我无法将自定义光标嵌入到我的应用程序中...
我目前正在使用以下方法将光标更改为我在解决方案资源管理器中拥有的自定义光标。它是“MyCursor.cur”,它是一个嵌入式资源,我已将“复制到输出目录”设置为“如果更新则复制”。这是我用来设置光标的代码:
public static Cursor ActuallyLoadCursor(String path)
{
return new Cursor(LoadCursorFromFile(path));
}
[System.Runtime.InteropServices.DllImport("user32.dll")]
private static extern IntPtr LoadCursorFromFile(string fileName);
在我的表单的构造函数中:
Cursor = ActuallyLoadCursor("MyCursor.cur");
这是我加载光标并在我的应用程序中使用它的唯一方法。但是,这会将光标复制到与程序相同的文件夹中。我在网上搜索了几个小时没有运气。有没有什么方法可以做到这一点而不被复制并且没有一千行不必要的代码?
这是我尝试过的其他解决方案,但对我来说失败了:
using (MemoryStream ms = new MemoryStream(Properties.Resources.MyCursor))
{
Cursor = new Cursor(ms);
}
Cursor = new Cursor(Assembly.GetExecutingAssembly().GetManifestResourceStream("My_Namespace.MyCursor.cur"));
这些导致:
图片格式无效。图像文件可能已损坏。参数名称:流