比如Panel控件,如果启用了边框,那么内部控件Top和Left实际是在Panel的+1位置。如何实现这样的功能。

解决方案 »

  1.   

    不懂你什么意思。你怎么知道“内部控件Top和Left”跟Panel有关?如果你的程序中把这个耦合在一起,那么你写一条if语句判断一下不就完了嘛,反正也就你也没有遵循正规的“Panel内部控件”的机制。
      

  2.   


    //txt_BookName处在panel1内部
    this.txt_BookName.Bounds = new Rectangle(1, 1, 20, 40);
      

  3.   


    我觉得我的写的已经很达意了在Panel控件中放置一个位置为Left:0, Top: 0的控件。如果启用边框,实际控件的位置会稍微向下移动。给边框让出位置。但是内部控件的Left、Top还是0
      

  4.   

    Bounds是设置当前控件在上级控件的相对位置,等于是设置当前控件的Left Top Width Height
      

  5.   

    楼上都介绍了。 
    winform 毕竟 没有像web那样做出精美页面。
    好像也只能用Padding  其他的只能网上找找了。 
      

  6.   

    不是吧
    当我们启用this.txt_BookName.Bounds = new Rectangle(1, 1, 20, 40);之后,他会使当前控件和其容器之间的left和top为1,即是你启用了边框,任然是1啊,内部控件会自动缩放,怎么可能为0呢