2012-05-18 35 views
1

我正在开发c#.net中的鼠标移动控件应用程序上的放大镜。我需要用放大镜控件替换光标(放大镜控件是一个图片框)。所以无论如何要完成这一点。我怎样才能用winform中的位图替换光标

+2

http://www.switchonthecode.com/tutorials/csharp-tutorial-how-to-use-custom-cursors –

+0

不错......我要用这个实现我的概念.. – DjMalaikallan

回答

3

下面的示例代码显示了如何在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

首先添加位图项目资源:
项目 - > projectnameProperties->添加现有文件(从旁边的 “添加资源” 菜单)添加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); 

其中, “项目名称”是你的项目的名字。