C# 当鼠标悬停在标题栏上时,任务停止更新鼠标
我有一个简单的windows窗体应用程序来显示我的鼠标位置,它有两个文本框和一个按钮,仅此而已。请参阅下面的代码。在我将鼠标悬停在应用程序的标题栏(而不是整个标题栏)上之前,它可以正常工作。当水平移动时,它似乎只是文本和图标之间的一个点。当垂直移动鼠标时,很难做到这一点。应用程序停止报告鼠标位置无响应。有人能告诉我为什么以及如何修复它吗C# 当鼠标悬停在标题栏上时,任务停止更新鼠标,c#,thread-safety,task-parallel-library,mouse,C#,Thread Safety,Task Parallel Library,Mouse,我有一个简单的windows窗体应用程序来显示我的鼠标位置,它有两个文本框和一个按钮,仅此而已。请参阅下面的代码。在我将鼠标悬停在应用程序的标题栏(而不是整个标题栏)上之前,它可以正常工作。当水平移动时,它似乎只是文本和图标之间的一个点。当垂直移动鼠标时,很难做到这一点。应用程序停止报告鼠标位置无响应。有人能告诉我为什么以及如何修复它吗 using System; using System.Threading; using System.Threading.Tasks; using System
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);
}
});
}
}
}
您是否检查了事件的x,y?不确定您的意思…您调试了任务吗?怎么了?鼠标定位功能正常?没有错误,只是停止响应。除非你知道如何从中获取错误?Task.error。您需要存储任务的引用