【问题标题】:How can i replace cursor with bitmap in winform如何在winform中用位图替换光标
【发布时间】:2015-06-17 07:33:09
【问题描述】:

我正在 c#.net 中开发鼠标移动控制应用程序的放大镜。我需要用放大镜控件替换光标(放大镜控件是一个图片框)。那么有没有办法做到这一点。

【问题讨论】:

标签: c# winforms


【解决方案1】:

下面的示例代码显示了如何在 windows 窗体上设置光标。同样的方法也可以用于为控件设置光标。

public class Form_With_A_Cursor_Example {
    public void Shows_A_Form_With_A_Cursor_Loaded_From_A_pictureBox() {         
        Form frm = new Form();
        PictureBox pb = new PictureBox() { Image = Image.FromFile( @"C:\Users\xxx\Pictures\someImage.bmp" ) };

        frm.Cursor = new Cursor( ( (Bitmap)pb.Image ).GetHicon() );

        frm.ShowDialog();
    }
}

【讨论】:

    【解决方案2】:

    首先将位图添加到您的项目资源中:
    项目->项目名称属性->添加退出文件(从“添加资源”旁边的菜单中)添加您的 BMP

    Bitmap b = new Bitmap(projectname.Properties.Resources.yourCursorName);
    b.MakeTransparent(b.GetPixel(0,0));
    Graphics g = Graphics.FromImage(b);
    IntPtr ptr = b.GetHicon();
    Cursor = new System.Windows.Forms.Cursor(ptr);
    

    其中“projectname”是您的项目的名称。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多