WinForm控件移动
当鼠标移到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();
}
}
}
这个比较粗糙,你自己完善去吧,左右50像素,是可移动区域
[解决办法]
重复发帖了?http://bbs.csdn.net/topics/390681334?