关于控件在图片上跟随的问题

chenmozhijin 2014-09-11 08:55:40
各位好,我有一个picturebox控件里面显示了一张图,图上有3个点,我根据以下代码获得应用程序窗口最大化的时候这三个点基于picturebox控件左上角为(0,0)基点的坐标代码如下:
private void picFloorPlan_MouseDown(object sender, MouseEventArgs e)
{
Point ScreenXY = (sender as Control).PointToScreen(e.Location);
Point PointInPicSetXY = picFloorPlan.PointToClient(ScreenXY);
picSetXY.Location = PointInPicSetXY;
txtPointX.Text = PointInPicSetXY.X.ToString().Trim();
txtPointY.Text = PointInPicSetXY.Y.ToString().Trim();
}
补充一句picturebox的sizemode属性为zoom
并动态创建10*10的picturebox分别停靠在图片上的3个点的旁边。但是当窗口缩小的时候这三个picturebox控件不会跟着一起移动位置(始终保持分别停靠在图片上3个点的旁边)
我想要达到的目标是不管窗口如何缩放,这三个picturebox始终分别停靠在图片上3个点的旁边,并且更换显示器(即开发的时候显示器的分辨率是1024*768,放到生产环境下显示器的分辨率可能是1280*1028或者更高)这三个picturebox依旧会分别停靠在普通上3个点的旁边。
PS:我会把获取到得X,Y的值写入数据库表中对应的x,y字段里用来调用显示这三个picturebox的位置


请问要达到我的目标要怎么做?我尝试了很久都不能达到目标,如果代码不够请告诉我,我会贴代码上来。


...全文
92 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenmozhijin 2014-09-11
  • 打赏
  • 举报
回复
To Z65443344 显示图片的那个picturebox的dock属性是Fill
於黾 2014-09-11
  • 打赏
  • 举报
回复
你不能把绝对坐标放到数据库里 而是应该把坐标比例放到数据库里 否则窗口大小改变,屏幕分辨率改变,都会没法定位 然后根据窗口大小,乘以这个比例,来确定位置 可以在窗口移动事件和大小改变事件里加代码,重新计算位置并赋值
於黾 2014-09-11
  • 打赏
  • 举报
回复
没看懂 不要光说sizemode属性 dock属性是什么,fill? 窗口缩放,pic也会跟着缩放?
chenmozhijin 2014-09-11
  • 打赏
  • 举报
回复
自己顶一下!

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧