WPF鼠标形状的设置
1、使用 Cursor属性设置鼠标形状#
<Button Cursor="Hand" />
鼠标形状的枚举数值如下所示:
public enum CursorType
{
None = 0,
No = 1,
Arrow = 2,
AppStarting = 3,
Cross = 4,
Help = 5,
IBeam = 6,
SizeAll = 7,
SizeNESW = 8,
SizeNS = 9,
SizeNWSE = 10,
SizeWE = 11,
UpArrow = 12,
Wait = 13,
Hand = 14,
Pen = 15,
ScrollNS = 16,
ScrollWE = 17,
ScrollAll = 18,
ScrollN = 19,
ScrollS = 20,
ScrollW = 21,
ScrollE = 22,
ScrollNW = 23,
ScrollNE = 24,
ScrollSW = 25,
ScrollSE = 26,
ArrowCD = 27
}
2、加载外部图片作为鼠标形状#
public class CursorSafeHandle : SafeHandle
{
public CursorSafeHandle(IntPtr preexistingHandle, bool ownsHandle)
: base(IntPtr.Zero, ownsHandle)
{
handle = preexistingHandle;
}
public override bool IsInvalid
{
get { return handle == IntPtr.Zero; }
}
protected override bool ReleaseHandle()
{
return true;
}
}
Bitmap dimage = new Bitmap("update.png");
var handle = dimage.GetHicon();
var c = new CursorSafeHandle(handle, true);
var cursor= CursorInteropHelper.Create(c);
testButton.Cursor = cursor;
3、创建Bitmap图像#
我们还可以在GDI+
上绘制图形作为鼠标形状:
private Bitmap FillGraphToBitmap()
{
var backBitmap = new Bitmap(20, 20);
using (Graphics graphics = Graphics.FromImage(backBitmap))
{
// 设置背景色
graphics.Clear(System.Drawing.Color.Transparent);
// 绘制圆
Brush greenBrush = new SolidBrush(Color.Green);
graphics.FillEllipse(greenBrush, 0, 0, backBitmap.Width, backBitmap.Height);
graphics.Dispose();
}
return backBitmap;
}
作者:dongweian
出处:https://www.cnblogs.com/dongweian/p/17451004.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!