C# 中的一个长按标签
A Label in C# That has a long press
嗨,我在我的表格上有一个标签,我想在它执行显示消息框之类的功能之前按下它 2.5 秒我告诉它。任何东西都会 help.Thanks.
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
只需将您的代码移动到 Label
的 MouseUP
事件,它只会在您从标签上释放鼠标点击时触发
private void label_MouseUP()
///codes here
或者如果你想以困难的方式做到这一点:)
private void label_MouseDown()
var watch = System.Diagnostics.Stopwatch.StartNew();
double elapsedMs = watch.ElapsedMilliseconds;
if (elapsedMs > 2500)
{
////codes here
}
在 class 级别(表单级别)声明秒表,以便您可以从 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.");
}
嗨,我在我的表格上有一个标签,我想在它执行显示消息框之类的功能之前按下它 2.5 秒我告诉它。任何东西都会 help.Thanks.
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
只需将您的代码移动到 Label
的 MouseUP
事件,它只会在您从标签上释放鼠标点击时触发
private void label_MouseUP()
///codes here
或者如果你想以困难的方式做到这一点:)
private void label_MouseDown()
var watch = System.Diagnostics.Stopwatch.StartNew();
double elapsedMs = watch.ElapsedMilliseconds;
if (elapsedMs > 2500)
{
////codes here
}
在 class 级别(表单级别)声明秒表,以便您可以从 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.");
}