【问题标题】:Visual Studio Windows forms C# is there a way to make a picture box look at the cursor?Visual Studio Windows 窗体 C# 有没有办法让图片框看光标?
【发布时间】:2022-08-16 13:33:20
【问题描述】:

我正在做一个课程项目,这就是我使用 VS2019 Windows 窗体的原因。我一直在尝试获取一个图片框来查看光标,但我没有找到解决方案,这张图片显示了我想要实现的目标,带箭头的圆圈是字符,箭头是方向人物在看,棒子上的三角形就是光标,人物会一直看鼠标光标的方向,所以当鼠标光标移动时,图片框也会跟着光标的方向看。图片框只在鼠标光标移动时旋转,它不会改变它的位置,只是旋转看鼠标指针的方向。

  • 不确定“看光标”是什么意思。您想知道鼠标的 X 和 Y 位置吗?如果是这样,那么相对于图片框、表单、屏幕、其他的位置?您想知道鼠标悬停在什么控件上吗?
  • 你到底想达到什么目的?也许你可以画一张图来展示它,或者告诉我们你的主题是什么。
  • 抱歉让事情变得不清楚,我更新了帖子并添加了一个图表,以更清楚地说明我想要实现的目标。
  • 我认为您可能会发现离开表单并转而查看 WPF 会更容易。在任何情况下,您都需要考虑获取光标位置,可能是在鼠标按下事件之后(开始获取光标位置),然后触发图像的旋转。
  • 我很想摆脱表格,但我正在使用我的 A level 课程项目,不幸的是我无法摆脱它,谢谢你的建议。

标签: c# winforms visual-studio-2019


【解决方案1】:

重现您的问题:C# 将鼠标光标设置为自定义图像。

实现代码:

    /// <summary>
     /// Set the cursor to the image
     /// </summary>
     private void setBmpCursor()
     {
         //The image needs to be converted to ico format
         //Here can also use the resource file written in the previous article to store pictures
         string path = "C:\\Users\\Admin\\source\\repos\\TestRe\\TestRe\\test.ico";
          //original image
          Bitmap cursorBmp = new Bitmap(path);
         //Custom size (double down);
         Bitmap bmp = new Bitmap(cursorBmp, cursorBmp.Width / 2, cursorBmp.Height / 2);
         this.Cursor = new Cursor(bmp.GetHicon());
     }

达到效果:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-09-27
    • 2018-05-15
    • 1970-01-01
    • 2011-11-22
    • 1970-01-01
    • 2017-09-25
    • 1970-01-01
    相关资源
    最近更新 更多