【发布时间】:2014-11-08 03:44:52
【问题描述】:
我正在尝试创建一个自定义 UI 元素:一个面板,源自原始 面板,它可以使用特殊滚动条(不是集成滚动条)进行滚动,并具有一些其他特殊功能。 p>
实际的问题是滚动。当我更改自定义滚动条的值(例如滚动)时,面板集成的滚动条会突然出现,尽管 autoScroll = false。 导致两个滚动条都可见的意外状态、集成的和我的自定义滚动条。
Private Sub ScrollB_EvValueChanged(NewVal As Integer) Handles ScrollB.EvValueChanged
Me.CleanPanel1.VerticalScroll.Value = NewVal
End Sub
如何将由自定义滚动条确定的新滚动位置(新偏移量)分配给面板而不显示面板集成的滚动条?
遗憾的是,一个面板(或用户控件)上面有另一个面板并使用内部面板的 .Top 和 .Left 属性来模拟滚动,在我的情况下不是一个合适的解决方案。
感谢您的所有提示!
【问题讨论】:
-
你试过
Me.CleanPanel1.VerticalScroll.Visible = False -
而不是重新创建滚轮(包括跟踪滚动位置和鼠标导航、键盘导航),您可以简单地添加任何您需要的功能到现有控件。很难想象你会如何以不同的方式滚动。
-
可见属性是真的吗?
-
明确地将
Me.CleanPanel1.VerticalScroll.Visible转换为False不会改变任何东西。当一个值被分配给Me.CleanPanel1.VerticalScroll.Value时,集成的滚动条会弹出一毫秒。如何避免这种行为? -
@Plutonix 自定义滚动条已经由我制作,并对按键、鼠标滚轮等做出反应。现在只是绑定到面板 - 让我们说 - 滚动偏移导致问题..
标签: vb.net scroll element panel manual