Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

I'm making a table reservation system for a school project, and I'm using a list of PictureBoxes to represent the tables. To these PictureBoxes I have linked a hover event, and when I hover the BackColor property is changed.

List<PictureBox> pb = new List<PictureBox> { pictureBox1, pictureBox2, pictureBox3};

foreach (PictureBox p in pb)
{
    p.BorderStyle = BorderStyle.Fixed3D;
    p.BackColor = Color.White;
    p.MouseHover += new EventHandler(mouseOn);
}

private void mouseOn(object sender, EventArgs e)
{
    ((PictureBox)sender).BackColor = Color.Green;
}

Everything works great, except that when I hover the mouse over, it takes 1 second before the event is triggerd, is there any way to trigger the event immidiately?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
318 views
Welcome To Ask or Share your Answers For Others

1 Answer

If you want to trigger event immediately, use MouseEnter event instead. By design your mouse should stay stationary for some time for MouseHover event to fire.

BTW SystemInformation.MouseHoverTime holds that delay for MouseHover event.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...