Winform中怎么设置系统鼠标图标

_Tiny 2014-06-06 02:18:46
如题,我用如下代码设置的是当前Form中的鼠标图标
                   
Bitmap bitmapC = new Bitmap("F:\\img1.png");
IntPtr handleC = bitmapC.GetHicon();
System.Windows.Forms.Cursor myCursorC = new System.Windows.Forms.Cursor(handleC);
this.Cursor = myCursorC;

而且运行时会报错如下 针对这种情况真是不知道什么原因,那里出错了?该怎么改?
...全文
311 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
this.Cursor = new Cursor("pen_il.cur");//改变鼠标图片
_Tiny 2014-06-06
  • 打赏
  • 举报
回复
引用 8 楼 xuhang08 的回复:
Bitmap bitmapG = new Bitmap(@"F:\img1.png"); this.Cursor = new Cursor(bitmapG.GetHicon()); 直接这么写就可以呀,应该不会报错
额 也一样的 话说托管代码为什么还有个bitmap.Dispose()? new过之后还需要调用该方法么?
xuhang08 2014-06-06
  • 打赏
  • 举报
回复
楼主的问题应该不是自定义鼠标报错,System.Reflection.TargetInvocationException 错误是因为公共语言运行时使用反射调用MethodInfo.Invoke方法
xuhang08 2014-06-06
  • 打赏
  • 举报
回复
Bitmap bitmapG = new Bitmap(@"F:\img1.png"); this.Cursor = new Cursor(bitmapG.GetHicon()); 直接这么写就可以呀,应该不会报错
_Tiny 2014-06-06
  • 打赏
  • 举报
回复
引用 5 楼 yuekunge 的回复:
[quote=引用 楼主 CSDNMicrosoftCSDN 的回复:] 如题,我用如下代码设置的是当前Form中的鼠标图标[code=csharp] Bitmap bitmapC = new Bitmap("F:\\img1.png");
这个文件应该是 .ani 或 .cur 文件 才行···[/quote] 而且this.Cursor = System.Windows.Forms.Cursors.Hand;选择的也是系统预设的鼠标图标,而且这个设置也是对当前Form窗口有效啊。。。 难道就不能修改一次,其他应用程序以及系统鼠标图标都换成我当前设置的这个么?
_Tiny 2014-06-06
  • 打赏
  • 举报
回复
引用 4 楼 yuekunge 的回复:
[quote=引用 3 楼 yuekunge 的回复:] this.Cursor = Cursors.XX·· Cursors是个枚举,里面有很多的鼠标样式···
上面说错了··无视这句···[/quote] 。。。。我是想用美工做的图片做鼠标图标的唉
敌敌畏耶 2014-06-06
  • 打赏
  • 举报
回复
引用 楼主 CSDNMicrosoftCSDN 的回复:
如题,我用如下代码设置的是当前Form中的鼠标图标[code=csharp] Bitmap bitmapC = new Bitmap("F:\\img1.png");
这个文件应该是 .ani 或 .cur 文件 才行···
敌敌畏耶 2014-06-06
  • 打赏
  • 举报
回复
引用 3 楼 yuekunge 的回复:
this.Cursor = Cursors.XX·· Cursors是个枚举,里面有很多的鼠标样式···
上面说错了··无视这句···
敌敌畏耶 2014-06-06
  • 打赏
  • 举报
回复
this.Cursor = Cursors.XX·· Cursors是个枚举,里面有很多的鼠标样式···
_Tiny 2014-06-06
  • 打赏
  • 举报
回复
引用 1 楼 xuhang08 的回复:
this.Cursor = Cursors.Hand;
                Bitmap bitmapG = new Bitmap(@"hand2.png");
                IntPtr handleG = bitmapG.GetHicon();
                System.Windows.Forms.Cursor myCursorG = new System.Windows.Forms.Cursor(handleG);
                this.Cursor = System.Windows.Forms.Cursors.Hand;
改成这样,鼠标图标就没换。。。。
xuhang08 2014-06-06
  • 打赏
  • 举报
回复
this.Cursor = Cursors.Hand;

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧