C#两个窗口AB,鼠标在窗口A停留10s不动就自动跳转到窗口B.急用,代码复杂的话,给个思路也好啊 10
展开全部
给你一个思路吧,在A窗体中定义个System.Windows.Form.Timer对象,将其时间间隔设为10秒,如果10秒钟有鼠标移动事件的话,就将Timer重置,重新计时,如果10秒后触发Timer的Tick事件,那么就跳转到B窗体。
例子代码如下:
A窗体类中声明一个变量
Timer _timer;
然后在窗体的Load事件中实例化这个Timer类
private void Form1_Load(object sender, EventArgs e)
{
_timer = new Timer();
_timer.Interval = 10000; // 注意,这里是微秒,所以需要10*1000
_timer.Tick += _timer_Tick;
}
同时,在A窗体的鼠标移动事件中重置计时器
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
if (_timer.Enabled)
{
_timer.Enabled = false;
_timer.Enabled = true;
}
}
我这里计时器触发的事件中弹出一个消息框,你跳转就行了。
void _timer_Tick(object sender, EventArgs e)
{
MessageBox.Show("10 Secs elapsed");
}
例子代码如下:
A窗体类中声明一个变量
Timer _timer;
然后在窗体的Load事件中实例化这个Timer类
private void Form1_Load(object sender, EventArgs e)
{
_timer = new Timer();
_timer.Interval = 10000; // 注意,这里是微秒,所以需要10*1000
_timer.Tick += _timer_Tick;
}
同时,在A窗体的鼠标移动事件中重置计时器
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
if (_timer.Enabled)
{
_timer.Enabled = false;
_timer.Enabled = true;
}
}
我这里计时器触发的事件中弹出一个消息框,你跳转就行了。
void _timer_Tick(object sender, EventArgs e)
{
MessageBox.Show("10 Secs elapsed");
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询