gpt4 book ai didi

c# - 从父控件接收 MouseMove 事件

转载 作者:太空宇宙 更新时间:2023-11-03 13:52:16 24 4
gpt4 key购买 nike

我有一个 WinForm 应用程序,它有一个面板和面板内的两个按钮。我在我的面板上添加了一个 mousemove 事件,当我在我的面板内移动鼠标时,mousemove 函数被调用,就像预期的那样。

问题是,如果我在按钮上方按下鼠标按钮,按钮就会按下,如果我在按住按钮的同时将鼠标移入面板,面板 mousemove 函数将永远不会被调用,直到我释放鼠标按钮。

有解决办法吗?如果我不清楚,我可以尝试说得更清楚。

最佳答案

所以看起来当按钮被按下并且鼠标移回底层面板时,面板的 MouseMove 事件没有被触发。

此时您可以通过挂接到按钮的 MouseMove 来捕获指针位置。但是,指针的位置将相对于按钮,而不是面板,因此您需要将这些坐标添加到按钮的位置坐标:

Point mousePoint;

private void panel1_MouseMove(object sender, MouseEventArgs e)
{
mousePoint = e.Location;
}

private void button1_MouseMove(object sender, MouseEventArgs e)
{
mousePoint = new Point(button1.Location.X + e.Location.X, button1.Location.Y + e.Location.Y);
}

关于c# - 从父控件接收 MouseMove 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13391477/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com