简体   繁体   中英

How can i replace cursor with bitmap in winform

I am develeoping a magnifier on Mouse move control application in c#.net . I need to replace the cursor with the magnifier control(magnifier control is a picturebox). So is there anyway to accomplish this .

The example code below shows how to set a Cursor on windows form. The same approach can be used to set a Cursor for a Control too.

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();
    }
}

First add bitmap to your project resources:
Project->projectnameProperties->Add exiting file (from menu next to "Add Resource") add your 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);

Where "projectname" is the name of your project.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM