当前位置:编程学习 > C#/ASP.NET >>

控件移动问题求助!

一个控件,比如button,手动可以拖动移动它,移动的时候,在它的前后会自动出现一定数量的方格,控件移动到某个方格附近时候,松开鼠标,会自动进入对应的方格!

这个功能有什么好的解决方法,求解!

期盼高手指点! --------------------编程问答-------------------- 按你自己描述的组织数据结构。参照如何拖动控件,如何绘制窗体不被擦掉等。
网格线应该是在窗体的OnPaint绘制的。
控件移动是处理鼠标的按下,移动,弹起事件的。 --------------------编程问答-------------------- 顶 不是太懂 动态设置控件的位置 移动鼠标 在鼠标out事件中获取当前鼠标位置赋给控件位置  个人意见 --------------------编程问答-------------------- 关键的问题是手动移动位置不准,移动到某个方格附近,会自动进入方格指定的一个坐标 这么实现,还有方格的定义,有什么好的定义方法! --------------------编程问答-------------------- 自己顶 --------------------编程问答-------------------- 自己绘制吧 --------------------编程问答-------------------- 这个啊,BUTTON和PANEL控件差不多可以实现了,下面的代码给你点提示(其实应该还有个MouseUp事件,在这里判断是哪个PANEL方框,然后ADD一个同样的BUTTON,原来那个控件删除才对):
         private Point mouse_offset;
        private void Button1_MouseDown(object sender, MouseEventArgs e)
        {
        mouse_offset = new Point(-e.X, -e.Y);//
        }
        private void Button1_MouseMove(object sender, MouseEventArgs e)
        {

        ((Control)sender).Cursor = Cursors.Arrow;//设置拖动时鼠标箭头
        if (e.Button == MouseButtons.Left)
        {
        Point mousePos = Control.MousePosition;
        mousePos.Offset(mouse_offset.X, mouse_offset.Y);//设置偏移
        ((Control)sender).Location = ((Control)sender).Parent.PointToClient(mousePos);
        }
        } --------------------编程问答-------------------- 就是要注意鼠标的单击事件,move等
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,