我有一个简单的Windows窗体应用程序来显示我的鼠标位置它有2个文本框和一个按钮就是全部。请参阅下面的代码。它工作正常,直到我将鼠标悬停在应用程序的标题栏上,但不是整个标题栏。当水平移动时,它似乎是文本和图标之间的一个点。垂直移动鼠标时更难实现。应用程序停止报告鼠标位置无响应。有人可以帮我提一下为什么以及如何解决它?
using System;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace MouseTester
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
_SyncContext = SynchronizationContext.Current;
}
private bool Run;
private SynchronizationContext _SyncContext;
private void button1_Click(object sender, EventArgs e)
{
Run = !Run;
if (Run)
{
DisplayMouseLocation();
}
}
private void DisplayMouseLocation()
{
Task.Run(() =>
{
while (Run)
{
SendOrPostCallback callback = arg =>
{
textBox1.Text = MousePosition.X.ToString();
textBox2.Text = MousePosition.Y.ToString();
};
_SyncContext.Send(callback, null);
}
});
}
}
}