【发布时间】:2017-10-26 07:40:11
【问题描述】:
如何设置自定义光标?我已经阅读了几个问题和答案,但找不到任何有用的东西。
我正在创建一个图像查看器,目前正在开发平移功能。我有一个在将任何比例/缩放应用于 PictureBox 后运行的函数:
private void CheckOverflow()
{
if (ImageBox.Width > BottomPanel.Width || ImageBox.Height > BottomPanel.Height)
{
BottomPanel.Cursor = Cursors.Hand; // set a custom cursor "pannable"
}
else if (BottomPanel.Cursor != Cursors.Default)
{
BottomPanel.Cursor = Cursors.Default;
}
}
如果PictureBox 溢出Panel,则它是可平移的。现在,我正在使用 Windows 光标,它工作正常,但我想将 Hand 光标更改为自定义光标。
我有一个名为pannable.cur 的自定义光标。我通过Project->Properties->Resources窗口将其添加到项目中,并将其Build Action属性更改为Embedded Resource。
现在,我应该如何以及在哪里创建光标?我相信是这样的:
Cursor Pannable = new Cursor(GetType(), "pannable.cur");
但是我应该把它放在哪里呢?如果我把它放在CheckOverflow 中,它会被一遍又一遍地创建。除此之外,它不起作用。我收到以下错误:
我将创建两个光标(可平移和平移),一次,然后来回更改控件的光标。
我该怎么办?
源代码可在Github获取。
【问题讨论】: