我有这段代码
private void picTop_MouseEnter(object sender, EventArgs e)
{
if (timer1.Tick == 10)
{
picBottom.Visible = true;
picTop.Visible = false;
timer1.Stop();
}
else
{
MessageBox.Show("ERROR You cannot view this section at this time.\nPlease try again later.");
}
}
private void picBottom_MouseEnter(object sender, EventArgs e)
{
picBottom.Visible = false;
picTop.Visible = true;
timer1.Start();
}
我的timerinterval设置为1000ms(所以1秒) 我只希望用户在10秒后再次进入顶部面板。 一些帮助将不胜感激。
我得到的当前错误:timer1.Tick是红色下划线,错误= “事件'System.Windows.Forms.Timer.Tick'只能出现在+ =或 - =”
的左侧答案 0 :(得分:2)
Timer.Tick
不属于它的事件。
像
一样使用它timer1.Tick +=
{
picBottom.Visible = true;
picTop.Visible = false;
timer1.Stop();
}
间隔使用timer.Interval
timer.Interval = 10000;
答案 1 :(得分:1)
确定。我想我明白你想要实现的目标......
您的表单上有2个区域,名为“Top”& “底部”
用户输入&随后离开顶部区域,您不希望它们再次进入10秒钟。那是对的吗?
所以你遇到了一些问题......首先,Tick
是一个事件,你可以在它被引发时附加一个方法。它不是你可以检查的整数。与计时相关的计时器上唯一的整数属性称为Interval
但除此之外我不认为你的方法会特别有效。
也许更好的想法是在顶部区域添加MouseExit
事件。并禁用该区域10秒。并使用计时器重新启用它。
timer1.Tick += timer1_Tick;
public void Top_MouseExit (object sender, EventArgs e)
{
PicTop.Visible = false; // or hide/disbale it some other way
Timer1.Interval = 10000; //10 seconds
Timer1.Start();
}
public void timer1_Tick(object sender, EventArgs e)
{
timer1.Stop();
PicTop.Visible = true; //renable the top area
}