你好我的表格上有一个标签,我想要按下2.5秒才能显示一个消息框,我尝试使用鼠标按下鼠标但没有成功它没有等待时间我告诉它。什么都有帮助。谢谢。
private void Ltitelpress(object sender, EventArgs e)
{
lTitel.MouseDown+=delegate(object o, MouseEventArgs args) { };
Timer timer = new Timer();
timer.Start();
timer.Interval = 2500;
if (timer.Interval == 2500)
{
lTitel.MouseUp+= delegate(object a, MouseEventArgs args)
{
timer.Stop();
MessageBox.Show("Good Job");
};
}
}
问题是,如果这段代码甚至接近于accurrite,我甚至不会。
答案 0 :(得分:1)
在课程级别(表单级别)声明秒表,以便您可以从2个不同的事件过程中访问它。
private Stopwatch sw = new Stopwatch();
private void label1_MouseDown(object sender, MouseEventArgs e)
{
sw.Start();
}
private void label1_MouseUp(object sender, MouseEventArgs e)
{
sw.Stop();
if (sw.ElapsedMilliseconds > 2500)
MessageBox.Show("Mouse held down long enough.");
else
MessageBox.Show("Not long enough.");
}
答案 1 :(得分:0)
只需将您的代码移至MouseUP
的{{1}}事件,只有当您从标签上释放鼠标时才会触发
Label
或者如果你想这么做的话:)
private void label_MouseUP()
///codes here