C# 当鼠标悬停在标题栏上时,任务停止更新鼠标

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

我有一个简单的windows窗体应用程序来显示我的鼠标位置,它有两个文本框和一个按钮,仅此而已。请参阅下面的代码。在我将鼠标悬停在应用程序的标题栏(而不是整个标题栏)上之前,它可以正常工作。当水平移动时,它似乎只是文本和图标之间的一个点。当垂直移动鼠标时,很难做到这一点。应用程序停止报告鼠标位置无响应。有人能告诉我为什么以及如何修复它吗

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。您需要存储任务的引用