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

Categories

0 votes
323 views
in Technique[技术] by (71.8m points)

c# - How to fix the event delay

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

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

1 Answer

0 votes
by (71.8m points)

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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...