控件移动问题求助!
一个控件,比如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#