如何检测如果滚动条是或不是在一个RichTextBox结束时(vb.net)是在、结束时、或不、滚动条

由网友(奶猫君)分享简介:我的问题是因为是:如何检测如果滚动条是与否的一个RichTextBox的结束? my question is as is:How to detect if a scrollbar is at or not at the end of a richtextbox? 编辑:当我说在结束我的意思是完全滚动至底部,而不是其...

我的问题是因为是:如何检测如果滚动条是与否的一个RichTextBox的结束?

my question is as is:How to detect if a scrollbar is at or not at the end of a richtextbox?

编辑:当我说在结束我的意思是完全滚动至底部,而不是其他地方。

edit: when I say at the end I mean completely scrolled to the bottom, not anywhere else.

推荐答案

检查出的 GetScrollRange都 和的 GetScrollPos API ...

Check out the GetScrollRange and GetScrollPos API...

Private Const SBS_HORZ = 0
Private Const SBS_VERT = 1

<DllImport("user32.dll")> _
Public Function GetScrollRange(ByVal hWnd As IntPtr, ByVal nBar As Integer, _
                               ByRef lpMinPos As Integer, _
                               ByRef lpMaxPos As Integer) As Boolean
End Function

<DllImport("user32.dll")> _
Public Function GetScrollPos(ByVal hWnd As Integer, _
                             ByVal nBar As Integer) As Integer
End Function

// ...

Dim scrollMin as Integer = 0
Dim scrollMax as Integer = 0

If(GetScrollRange(rtb.Handle, SBS_VERT, scrollMin, scrollMax) Then
   Dim pos as Integer = GetScrollPos(rtb.Handle, SBS_VERT)

   // Detect if they're at the bottom
EndIf

注:

要确定是否滚动条是可见的,叫 GetWindowLong 并检查 WS_VSCROLL

To determine if the scrollbar is visible, call GetWindowLong and check for WS_VSCROLL

要确定最大值滑块可以得到,调用 GetScrollInfo ;我认为,最大值为

To determine the max value the slider can get to, call GetScrollInfo; I think the maximum value is

scrollMax - largeChange + 1
阅读全文

相关推荐

最新文章