C# 如何使眼球跟随光标移动?
我已经创建了两个圆圈作为眼睛和两个眼球。我想用光标移动这些眼球。我该怎么办? 请帮帮我C# 如何使眼球跟随光标移动?,c#,.net,C#,.net,我已经创建了两个圆圈作为眼睛和两个眼球。我想用光标移动这些眼球。我该怎么办? 请帮帮我 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace nighat_goog
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace nighat_google
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Paint(object sender, PaintEventArgs e)
{
SolidBrush s=new SolidBrush(Color.Black);
e.Graphics.DrawEllipse(Pens.Red, 50, 50, 100, 100);
e.Graphics.DrawEllipse(Pens.Red, 170, 50, 100, 100);
e.Graphics.FillEllipse(s, 90, 50, 20, 20 );
e.Graphics.FillEllipse(s, 210, 50, 20, 20);
}
}
}
没有人会为您编写代码,所以让我们从逻辑上思考这个问题 问题是更新UI以响应鼠标光标的移动 因此,解决方案的关键是找到一种跟踪鼠标光标移动的方法 NET Framework已经提供了一个事件,告诉您鼠标何时移动。它的名字很巧妙。通过阅读文档或在VisualStudio环境中搜索事件列表,您可以自己找到这一点 因此,您所需要做的就是处理
MouseMove
事件,使眼球无效(使用),并在Paint
事件处理程序中的正确位置重新绘制眼球(如您在所示代码中所做的)
你的下一个问题可能是我如何知道吸引眼球的方向?好的,因为您希望他们查看鼠标光标,所以您需要找出鼠标光标在
Paint
事件处理程序中的位置
还有一种方法:
它返回一个点
,表示光标在屏幕坐标中的位置。屏幕坐标正是您想要的,因为它们会告诉您鼠标光标所在的屏幕区域。将屏幕划分为与眼球区域相对应的区域,然后在Paint
事件处理程序中编写代码以匹配这些区域