WinForm控件如何更改内部控件Top、Left的相对位置。

wllllll 2012-12-09 02:57:32
比如Panel控件,如果启用了边框,那么内部控件Top和Left实际是在Panel的+1位置。

如何实现这样的功能。
...全文
729 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuxiaodong790909 2012-12-10
  • 打赏
  • 举报
回复
location也不行么?
你的选择B 2012-12-09
  • 打赏
  • 举报
回复
引用 3 楼 wllllll 的回复:
引用 1 楼 sp1234 的回复:不懂你什么意思。 你怎么知道“内部控件Top和Left”跟Panel有关?如果你的程序中把这个耦合在一起,那么你写一条if语句判断一下不就完了嘛,反正也就你也没有遵循正规的“Panel内部控件”的机制。 我觉得我的写的已经很达意了 在Panel控件中放置一个位置为Left:0, Top: 0的控件。如果启用边框,实际控……
不是吧 当我们启用this.txt_BookName.Bounds = new Rectangle(1, 1, 20, 40);之后,他会使当前控件和其容器之间的left和top为1,即是你启用了边框,任然是1啊,内部控件会自动缩放,怎么可能为0呢
段传涛 2012-12-09
  • 打赏
  • 举报
回复
楼上都介绍了。 winform 毕竟 没有像web那样做出精美页面。 好像也只能用Padding 其他的只能网上找找了。
wllllll 2012-12-09
  • 打赏
  • 举报
回复
引用 5 楼 caozhy 的回复:
Padding属性。
边框会导致内部控件的位置增加1,我是希望有类似这样的功能。如何让内部控件位置是10,10但是实际显示效果是15, 15,或者其他数值
threenewbee 2012-12-09
  • 打赏
  • 举报
回复
Padding属性。
wllllll 2012-12-09
  • 打赏
  • 举报
回复
引用 2 楼 nidexuanzhe 的回复:
C# code?12//txt_BookName处在panel1内部this.txt_BookName.Bounds = new Rectangle(1, 1, 20, 40);
Bounds是设置当前控件在上级控件的相对位置,等于是设置当前控件的Left Top Width Height
wllllll 2012-12-09
  • 打赏
  • 举报
回复
引用 1 楼 sp1234 的回复:
不懂你什么意思。 你怎么知道“内部控件Top和Left”跟Panel有关?如果你的程序中把这个耦合在一起,那么你写一条if语句判断一下不就完了嘛,反正也就你也没有遵循正规的“Panel内部控件”的机制。
我觉得我的写的已经很达意了 在Panel控件中放置一个位置为Left:0, Top: 0的控件。如果启用边框,实际控件的位置会稍微向下移动。给边框让出位置。但是内部控件的Left、Top还是0
你的选择B 2012-12-09
  • 打赏
  • 举报
回复

//txt_BookName处在panel1内部
this.txt_BookName.Bounds = new Rectangle(1, 1, 20, 40);
  • 打赏
  • 举报
回复
不懂你什么意思。 你怎么知道“内部控件Top和Left”跟Panel有关?如果你的程序中把这个耦合在一起,那么你写一条if语句判断一下不就完了嘛,反正也就你也没有遵循正规的“Panel内部控件”的机制。

110,538

社区成员

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

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

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