【问题标题】:How can I change the cursor into a non-default cursor in my application?如何在我的应用程序中将光标更改为非默认光标?
【发布时间】:2013-04-26 13:19:33
【问题描述】:
在我的应用程序中,有两个实例我想使用非默认光标。
一个在面板上,用户可以使用鼠标“绘图”。我想将光标从默认鼠标更改为钢笔或画笔。我想从网上获取一张图片,将其转换为适当的文件类型并将其用作面板的光标。
另一个例子是图像被添加到富文本框中。我想添加正确的“调整大小”箭头,以便当用户将鼠标悬停在其中一个小黑框上时,光标会变为双箭头(就像在其他程序中一样)。
这有多容易实现?
在实现调整大小箭头时,我不知道从哪里开始,因为富文本框中并不总是有图像(仅在调试或使用应用程序时)。
【问题讨论】:
标签:
c#
winforms
visual-studio
.net-4.0
cursor
【解决方案1】:
属性选项卡中实际上有一个用于winforms的光标选项,只要Cursor.Position等于项目的位置,您就可以更改光标。
【解决方案2】:
更好的是,使用MouseHover 事件并添加一个新的处理程序以在调用时更改光标。
【解决方案3】:
WinForms 中的所有控件都有一个Cursor property,因为它们都继承自System.Windows.Forms.Control。当鼠标指针悬停在该控件上时,您分配给此属性的任何光标都将自动显示。
这是一个环境属性,这意味着它会自动从其父窗体继承其值(例如,Button 控件将自动使用与其父窗体相同的光标),除非另有明确设置。
因此,要更改某个控件上显示的光标,您需要做的就是设置该控件对象的Cursor 属性。框架将负责其余的工作。