c# - 如何在不使用互操作的情况下创建动态鼠标光标 .NET?

标签 c# .net bitmap mouse-cursor

我有一个应用程序,我有兴趣最终移植到单声道,所以我试图避免使用 p/invoke 来完成这个任务。

我想动态加载一个游标,因为我有一个在应用程序中动态生成的位图。据我所知,不使用 p/invoke 的最安全方法是创建一个 .cur 文件,然后我可以将其加载到内存流并使用 Cursor(Stream)构造函数。但是我不知道如何创建 .cur 文件。

我在 Microsoft 知识库上找到了这篇解释格式的文章,但我不确定如何在没有互操作调用的情况下使用它。 How To Create an Alpha Blended Cursor or Icon in Windows XP

是否有其他人有我可以用来完成此任务的托管解决方案?

最佳答案

我引用了这篇文章: How can i replace cursor with bitmap in winform

你可以创建一个static cursor数组并使用Timer来改变它

制作动态鼠标光标效果!

从位图创建静态光标非常简单,无需使用互操作:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();

        Icon icon = this.Icon;
        Bitmap bmp = icon.ToBitmap();
        Cursor cur = new Cursor(bmp.GetHicon());

        this.Cursor = cur;
    }
}

关于c# - 如何在不使用互操作的情况下创建动态鼠标光标 .NET?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7610889/

相关文章:

c# - 将文本框中的数字转换为浮点 C#

javascript - ASP.NET AJAX 控制工具包文件上传在 Scriptresource.axd 中引发错误

c# - 如何在加载应用程序时显示图像

c# - 尝试在 Powershell v1 中嵌入 C# 代码

android - 在使用 picasso 将图片调整为 imageview 后,如何获取图片的结果位图

java - 将位图转换为 1 位位图

c# - 将前导零添加到日期时间 C#

c# - 使用撤消和重做功能绘制形状和字符串

assembly - C64 程序集 - 6502/6510 - 依次显示一系列三个位图,然后进入字符模式

c# - 有没有办法知道是否正在等待任务?