当前位置: 代码迷 >> .NET组件控件 >> WinForm控件移动,该如何处理
  详细解决方案

WinForm控件移动,该如何处理

热度:189   发布时间:2016-05-04 23:28:50.0
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();
                }
            }
        }
  相关解决方案