当前位置: 移动技术网 > IT编程>开发语言>.net > .NET运行界面上,实现随意拖动控件的方法

.NET运行界面上,实现随意拖动控件的方法

2017年12月12日  | 移动技术网IT编程  | 我要评论

soso地图离线包,生活小偏方,郭沫若人品

复制代码 代码如下:

using system.windows.forms;

namespace winformsapp_dragcontrols

{
    public class dragcontrol

    {

        //待拖动的控件

        private control m_control;

        //鼠标按下时的x,y坐标

        private int m_x;

        private int m_y;

        public dragcontrol(control control)
        {
            m_control = control;

            m_control.mousedown += new mouseeventhandler(control_mousedown);

            m_control.mousemove += new mouseeventhandler(contro_mousemove);

        }

        private void control_mousedown(object sender, mouseeventargs e)
        {

            m_x = e.x;

            m_y = e.y;

        }
        private void contro_mousemove(object sender, mouseeventargs e)
        {
            if (e.button == mousebuttons.left)
            {

                int x = e.x - m_x;

                int y = e.y - m_y;

                this.m_control.left += x;

                this.m_control.top += y;
            }
        }
    }
}

调用:

dragcontrol obj1 = new dragcontrol(button1);

则表示在运行的界面上,支持随意拖动button1

另外还可以进一步实现改变控件大小、gdi+实现加边界脚点、保存控件的位置到xml下次可以读取(布局)以及自动布局n个control的算法等,想进一步了解可与本人联系,此处不多叙述..

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网