[菜鸟求助]C#用户控件

phujayu 2012-06-09 05:09:03
最近开始学习C#的用户控件制作,我用label控件和textBox控件组合成一个控控件,label控件我是拖到容器的左上角,然后我在sizeChanged事件中,调整位置,想让textBox的top与label的top对齐,当我用this.textBox.top = this.top时,改变大小,文本框就乱跳,用this.textBox.top = this.label.top的时候就正常了,label控件我是手动拖到左上角的~这是为什么?
...全文
176 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
释迦苦僧 2012-06-09
  • 打赏
  • 举报
回复
this.textBox.top 是该textBox在用户控件中的TOP位置
this.top 是该用户控件在所属窗体里的TOP位置
两者的Parent对象时不一样的
码农-彬少 2012-06-09
  • 打赏
  • 举报
回复
  • 打赏
  • 举报
回复
举个例子吧,this.top可能等于500,而你的label.top此时只是等于10。那么你用500的那个当作10,当然感觉跳啦。因为张冠李戴了。
__天涯寻梦 2012-06-09
  • 打赏
  • 举报
回复
this.top 的 this 是指容器,而容器的 top 是与容器外承载容器的那个控件相关的,容器里的控件指定这样的值没有意义
cnfixit 2012-06-09
  • 打赏
  • 举报
回复
this.textBox.top = this.top
this.textBox.top = this.label.top

this是你的用户控件
this.label是你用户控件里面的label

111,126

社区成员

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

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

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