gpt4 book ai didi

c# - 根据 X Y 坐标更改 MouseHover 上的标签颜色

转载 作者:太空宇宙 更新时间:2023-11-03 20:07:38 26 4
gpt4 key购买 nike

在不使简单问题过于复杂的情况下,我试图让标签颜色在​​鼠标悬停在图像的特定区域上时发生变化。我的代码应该解释这种情况:

    private void picboxMain_MouseHover(object sender, MouseEventArgs e)
{
int x1 = e.X;
int y1 = e.Y;
if ((x1 >= 155 && x1 <= 179) && (y1 >= 145 && y1 <= 160))
{
lblX.ForeColor = Color.Green;
lblY.ForeColor = Color.Green;
}
}

但是它不会接受获取鼠标位置并分配给 x1 和 y1 变量的 e.X 和 e.Y 参数。为什么不允许这样的变量赋值?我已经成功地使用了这个几乎完全相同的功能?

    private void picboxMain_MouseUp(object sender, MouseEventArgs e)
{
int x1 = e.X;
int y1 = e.Y;
if ((x1 >= 155 && x1 <= 179) && (y1 >= 145 && y1 <= 160))
{
Form2 Form2 = new Form2();
Form2.Show();
}
}

为什么这个有效而不是另一个?

最佳答案

删除 MouseHover 事件处理程序,它在第二个参数中不包含 MouseEventArgs,然后添加 MouseMove 处理程序,代码如下:

private void picboxMain_MouseMove(object sender, MouseEventArgs e)
{
int x1 = e.X;
int y1 = e.Y;
Color color = (x1 >= 155 && x1 <= 179) && (y1 >= 145 && y1 <= 160) ? Color.Green : Color.Black;
lblX.ForeColor = color;
lblY.ForeColor = color;
}

编辑: 还应处理 MouseLeave

关于c# - 根据 X Y 坐标更改 MouseHover 上的标签颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22049807/

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