永发信息网

C# 控件间不重叠

答案:3  悬赏:50  手机版
解决时间 2021-01-26 17:01
  • 提问者网友:心牵心
  • 2021-01-26 10:17
在程序运行后,怎么使两个控件之间(比如,两个pictureBox)不重叠,这两个控件在一个panel里是可以自由移动的(已实现),但不能重叠,高手赐教怎样做到移动的时候不重叠,有类似磁性窗体效果的更好,谢谢了
最佳答案
  • 五星知识达人网友:舊物识亽
  • 2021-01-26 10:26
你需要在mouesemove当中去真听当前其中一个控件它本身在屏幕当中的坐标值IE8以上可以使用getBoundingClientRect函数,与其相对于容器的偏移量,也就是margin的四个属性值的差,然后再去判断另外一个控件的属性值之差
全部回答
  • 1楼网友:第幾種人
  • 2021-01-26 12:30
是winform程序吗,如果是的话,不同控件或者窗体间传值通常可以用静态变量,比如说你新建一个叫myvar的类 public class myvar { public static string message=null; } 之后在任何地址就可以直接用myvar.message="hello"之类的来调用了,当然同样的,你也可以添加一个用来保存当前用户变量的(比如说你用户类是newuser public class myvar { public static string message=null; public static newuser currentuser=null; }
  • 2楼网友:孤独入客枕
  • 2021-01-26 11:01
你可以判断他们的Location的X,y值,两个其中一个相等就一定是重叠。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯