2009-10-23 61 views
1

是否有任何方法可以使用每个.Net ScrollableControl附带的内置ScrollBars,而无需将AutoScroll属性设置为Enable? 这是问题,即使我启用,设置为可见并声明最小值和最大值以及horizo​​ntalScrollBar和VerticalScrollBar的smallChange和LargeChange,它们显示在控件的边框中,但它们没用。单击时,拇指不会移动,并且单击滚动时(OldValue和NewValue均为0)控件的滚动事件不会带来任何有用的信息。 这是我试图设置滚动条值的方式:在.Net中使用ScrollBars

 HorizontalScroll.Enabled = true; 
     HorizontalScroll.Value = 80; 
     HorizontalScroll.Minimum = 0; 
     HorizontalScroll.Maximum = 300; 
     HorizontalScroll.SmallChange = 2; 
     HorizontalScroll.LargeChange = 4; 
     HorizontalScroll.Visible = true; 

(也做了同样的事情垂直滚动)

任何想法?或者我必须自己添加到新的滚动条到我的控制?

+0

是否有可滚动显示的内容?不要设置初始值并拖动窗口缩小可视大小,它可能会比您期望的大一点。 – curtisk 2009-10-23 17:50:29

回答

0

那么我找不到一种方式来重用与每个网络可滚动控件集成在一起的相同滚动条。最后,我制作了自己的Scrolls,并且非常重要...如果它是一个其他人将要重用的控件,则覆盖AutoScroll属性。

public override bool AutoScroll 
     { 
      get { return false; } 
      set 
      { 
       if (value) 
        throw new Exception("Auto Scroll not supported in this control"); 
       base.AutoScroll = false; 
      } 
     }