当一个控件以dock的方式加入窗体以后,在改变窗体大小的同时,控件下沿距窗体下沿的距离似乎在随机改变,能否看一下,这是为什么

解决方案 »

  1.   

    dock设置为fill以后,anchor就为top和left了,更改以后,dock就无效了
      

  2.   

    有些控件,如ListBox,它的高度可以设置成只能是行高的整倍数,这样就会出现LZ所说的情况。试试:
    listBox1.IntegralHeight = false;ListBox.IntegralHeight 属性 
    获取或设置一个值,该值指示控件是否应调整大小以避免只显示项的局部。public bool IntegralHeight { get; set; }
    如果该控件调整大小以便不显示不完整的项,则为 true;否则为 false。默认为 true。
      

  3.   

    备注当此属性设置为 true 时,控件将自动调整大小以确保项已全部显示。如果根据窗体的空间要求,要维持 ListBox 的原始大小,则将此属性设置为 false。 默认情况下,ListBox 和 CheckedListBox 的大小设置是只显示完整的项。如果要让 ListBox 或 CheckedListBox 完全填充停靠区域,请将 IntegralHeight 设置为 false。这样控件将完全填充该区域,但最后一项不会完全显示。 如果 ListBox 未包含任何项,则该属性无效。注意: 
    整体高度取决于 ListBox 的高度,而非工作区的高度。这样,当 IntegralHeight 属性设置成 true 时,如果显示滚动条,则仍可显示项的一部分。
     
    注意:
    如果 DrawMode 属性设置为 DrawMode.OwnerDrawVariable,则此属性无效。
     
      

  4.   

    原来如此,那么可不可以通过sizechang事件更改窗体大小,使height为itemHeight的倍数来解决这个问题了
      

  5.   

    直接把IntegralHeight属性设为false就OK了:listBox1.IntegralHeight = false;