我正在 c#.net 中的鼠标移动控制应用程序上开发放大镜。我需要用放大镜控件替换光标(放大镜控件是一个图片框)。那么有没有办法做到这一点。
问问题
8233 次
2 回答
6
下面的示例代码显示了如何在 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();
}
}
于 2012-06-08T13:23:50.230 回答
2
首先将位图添加到您的项目资源:
Project->projectnameProperties->Add exiting file(从“Add Resource”旁边的菜单中)添加您的 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”是您的项目的名称。
于 2015-06-16T23:22:59.670 回答