C#中的标签,长按

时间:2018-04-10 14:17:07

标签: c# label long-press

你好我的表格上有一个标签,我想要按下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,我甚至不会。

2 个答案:

答案 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