因此默认光标是“箭头”光标,箭头的左上角(点所在的位置)是点击或与其他控件交互的部分。如何更改指向部分以说出箭头的尾部?
我所拥有的是一个自定义光标(位图图像),它是一个16x16大小的圆,我希望它的中心是指针。我有另一个自定义箭头状光标,指向左下方也是16x16,我希望光标的左下角是指针。我认为游标类中有一个属性,但我不确定它叫什么。
答案 0 :(得分:7)
这实际上是在CUR
file format中指定的。
CUR文件格式是几乎相同的图像文件格式 Microsoft Windows中的非动画游标。唯一的区别 这两种文件格式之间是用于识别它们的字节 在CUR格式标题中添加热点;热点是 定义为左上角的像素偏移(x,y坐标) 用户实际指向的光标图像的一角 鼠标。
可编辑CUR
文件的程序通常允许您指定热点。有关详细信息,请参阅this question。
答案 1 :(得分:2)
这里有一篇关于这个主题的相当全面的文章:http://www.switchonthecode.com/tutorials/csharp-tutorial-how-to-use-custom-cursors
它包括设置光标,通过自定义结构和位图创建光标,以及将它们放在一个应用程序中。
答案 2 :(得分:1)
您希望通过代码无法完成。我想做同样的事情,但这是不可能的。 实际上,Cursor class有一个名为HotSpot的属性,这是您想要更改的点。但是这个属性是readonly。 改变这个的唯一方法是在文件加载时(在.cur文件中,我建议你使用带有光标的Paint .net和图标插件(在网上搜索)来编辑光标)。重要的是:游标必须是文件而不是资源或类似的东西(必须是文件系统上的文件)才能加载它。记住它,我在其他方面测试时间很糟糕。
我想到的想法是:只在需要更改热点时编辑光标文件,但这需要您编写一个允许您更改光标文件上的热点的API。我很不清楚这个文件是如何构建的,所以你必须从这里继续。
希望这很有用