如何检测如果滚动条是或不是在一个RichTextBox结束时(vb.net) [英] How to detect if a scrollbar is or is not at the end of a richtextbox (vb.net)

查看:263
本文介绍了如何检测如果滚动条是或不是在一个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?

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

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

这篇关于如何检测如果滚动条是或不是在一个RichTextBox结束时(vb.net)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆