首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

WinForm控件移动,该如何处理

2013-12-30 
WinForm控件移动当鼠标移到Panel1右边边框的时候,Panel2,Panel3,Panel4向左移动当鼠标移到Panel1左边边框

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?

热点排行