C#MouseEnter事件即使在它前面有什么东西激活?

时间:2012-03-11 06:39:23

标签: c# winforms visual-studio custom-controls mouseenter

我在Visual Studio中制作自定义按钮(Windows窗体)。当我将鼠标悬停在按钮上时,它会触发mouseenter事件,但是当我将鼠标悬停在文本上时,它会在按钮上方触发mouseleave事件。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

所以当鼠标进入按钮时你有一个按钮颜色应该改变你可以实现这个鼠标悬停

private void button1_MouseHover(object sender, EventArgs e)
{
     button1.ForeColor = Color.Yellow;
}

当文本悬停时,您希望鼠标光标离开该位置。是对的吗? 如果是,则代码为

    private void label1_MouseHover(object sender, EventArgs e)
    {

        this.Cursor = new Cursor(Cursor.Current.Handle);
        Cursor.Position = new Point(Cursor.Position.X - 50, Cursor.Position.Y - 50);
        Cursor.Clip = new Rectangle(this.Location, this.Size);
    }

我怀疑第二个,我猜你想要别的东西。请告诉我。 干杯!!

答案 1 :(得分:0)

您正在谈论的文字是按钮的文字还是其他文字控件? 如果它的按钮那么你不应该面对问题。如果它的另一个控件只是向它添加鼠标悬停事件并调用与你在按钮的鼠标悬停事件中调用相同的功能。