最近开始学习C#的用户控件制作,我用label控件和textBox控件组合成一个控控件,label控件我是拖到容器的左上角,然后我在sizeChanged事件中,调整位置,想让textBox的top与label的top对齐,当我用this.textBox.top = this.top时,改变大小,文本框就乱跳,用this.textBox.top = this.label.top的时候就正常了,label控件我是手动拖到左上角的~这是为什么?

解决方案 »

  1.   

    this.textBox.top = this.top
    this.textBox.top = this.label.topthis是你的用户控件
    this.label是你用户控件里面的label
      

  2.   

    this.top 的 this 是指容器,而容器的 top 是与容器外承载容器的那个控件相关的,容器里的控件指定这样的值没有意义
      

  3.   

     举个例子吧,this.top可能等于500,而你的label.top此时只是等于10。那么你用500的那个当作10,当然感觉跳啦。因为张冠李戴了。
      

  4.   

    this.textBox.top 是该textBox在用户控件中的TOP位置
    this.top 是该用户控件在所属窗体里的TOP位置
    两者的Parent对象时不一样的