读书人

WinForm控件移动,该如何处理

发布时间: 2013-12-30 14:16:08 作者: rapoo

WinForm控件移动
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?

读书人网 >.NET

热点推荐