
当鼠标移到Panel1右边边框的时候,Panel2,Panel3,Panel4向左移动
当鼠标移到Panel1左边边框的时候,Panel2,Panel3,Panel4向右移动
(如同win8菜单界面一样)
求代码,谢谢
------解决方案--------------------
private Timer m_Timer;
private int m_Step=5;
private bool isMoving = false;
private void panel1_MouseMove(object sender, MouseEventArgs e)
{
int x = e.X;
int pWidth = this.panel1.Width;
//
if (x < 50) {
if (isMoving) return;
if (m_Timer == null)
{
m_Timer = new Timer();
m_Timer.Interval = 500;
m_Timer.Tick+=m_Timer_Tick;
}
m_Timer.Start();
isMoving = true;
m_Step = 5;
}
else if (x > pWidth - 50)
{
if (isMoving) return;
if (m_Timer == null)
{
m_Timer = new Timer();
m_Timer.Interval = 500;
m_Timer.Tick += m_Timer_Tick;
}
m_Timer.Start();
isMoving = true;
m_Step = -5;
}
else {
isMoving = false;
if (m_Timer != null)
{
m_Timer.Stop();
m_Timer.Dispose();
}
}
}