c#控件的Anchor属性、Dock属性--影响布局c#控件的Anchor属性、Dock属性--影响布局

1、Anchor属性:定位控件和父窗口间的相对位置。当父窗口变化时,控件也跟着变化。

   1.1 比如:

   设置控件的Anchor属性为Top Left时,当父窗口放大/缩小时,此控件以父窗口的顶边Top 和 左边Left为参照依据,进行放大/缩小。

 

   设置控件的Anchor属性为Bottom Right时,当父窗口放大/缩小时,此控件以父窗口的顶边Bottom 和 右边Right为参照依据,进行放大/缩小。

 

  1.2 实例(借用):

    到真正发现不同的anchor设置对控件的影响时,你才能体会到锚定的意义。下面的图像会有所帮助。

 

图表C

小窗口

 

图表C所示是一个有十个子控件的窗体。每一个子控件都有不同的Anchor属性值,并用它的anchor设置标注。灰白色控件后面的深红色框是另一个子控件——它的Anchor属性被设为顶部、底部、左边和右边。图表D所示是区域被调大以后的同一个窗体。

 

图表D

大窗口

 

正如你所看到的那样,每一个控件在父窗体中都自动地保持它的位置。我们没有编写代码来完成这一点;只是简单地设置了控件的Anchor属性。

 

 

2、Dock属性:迫使控件紧贴在父窗口(或某控件)的一个边缘上。

  • Top——迫使控件位于父窗体(或控件)的顶部。如果有同一个父窗体的其它子控件也被设置为停驻在顶部的话,那么控件将在彼此上方相互堆叠。
  • Bottom——迫使控件位于父窗体(或控件)的底部。如果有同一个父窗体的其它子控件也被设置为停驻在底部的话,那么控件将在彼此上方相互堆叠。
  • Left——迫使控件位于父窗体(或控件)的左边。如果有同一个父窗体的其它子控件也被设置为停驻在左边的话,那么控件将在彼此旁边相互堆叠。
  • Right——迫使控件位于父窗体(或控件)的右边。如果有同一个父窗体的其它子控件也被设置为停驻在右边的话,那么控件将在彼此旁边相互堆叠。
  • Fill——迫使控件位于父窗体(或控件)的上方。如果有同一个父窗体的其它子控件也被设置为停驻在上方的话,那么控件将在彼此上方相互堆叠。
  • None——表示控件将会正常运转。

 

 c#控件的Anchor属性、Dock属性--影响布局_云中飞鸿的博客-CSDN博客_anchor属性

posted @ 2022-05-19 15:50  unicornsir  阅读(1811)  评论(0编辑  收藏  举报