1

自動入力アプリケーションを作成しています。どのように動作するか: • テキスト ファイルの読み込みをクリックします (ファイルは richtextbox2 に読み込まれます) • 開始をクリックします: (タイマーが richtextbox2 から richtextbox1 にコードを入力し始めます)

(私はすでに次のコードを使用しましたが、うまくいきません)コードを使用しました:

RichTextBox1.SelectionStart = RichTextBox1.TextLength
RichTextBox1.ScrollToCaret()

しかし、タイマー値は 100 で、count_ コードで動作します: したがって、このコードを削除すると、スクロールバーは継続的に▲▼▲▼▲▼ (上、下、上、下...) に移動します: その後、スクロールバーは下がらない自動的。手動で行うと、最初の行に移動し、タイマーが処理中の場合は自動的に最初の単語になります...

だから私に何ができるか助けてください

4

3 に答える 3

2

以下をコードに追加します

RichTextBox1.HideSelection = False
于 2015-06-16T02:31:44.580 に答える
1

デザイナでRichTextBox の「Hide Selection」プロパティをFalseに設定し、かつ「AppendText 」メソッドを使用すると、追加時に RichTextBox が自動的に一番下の行までスクロールします。

rtブログ。AppendText (dbcon.insertdata & Chr(13))

于 2015-08-06T09:00:14.187 に答える
1

RichTextbox のリバウンド効果 ▲▼ を防止するには、垂直バーが下部にあるときに、以下のクラスをプロジェクトに貼り付けて、次のように使用します。

 RichTextBox1.Select(RichTextBox1.TextLength - 1, 1)

 If Not ScrollBarInfo.IsAtBottom(RichTextBox1) Then
    RichTextBox1.ScrollToCaret()
 End If

これは、ここで提供されているコードを変更したバージョンです: RichTextBox の垂直スクロールバーが最大値に達したかどうかを知る方法は? キングキングの

#Region " Scrollbar Info "

Public Class ScrollBarInfo

    <System.Runtime.InteropServices.DllImport("user32")> _
    Private Shared Function GetScrollInfo(hwnd As IntPtr, nBar As Integer, ByRef scrollInfo As SCROLLINFO) As Integer
    End Function

    Private Shared scrollInf As New SCROLLINFO

    Private Structure SCROLLINFO
        Public cbSize As Integer
        Public fMask As Integer
        Public min As Integer
        Public max As Integer
        Public nPage As Integer
        Public nPos As Integer
        Public nTrackPos As Integer
    End Structure

    Private Shared Sub Get_ScrollInfo(control As Control)
        scrollInf = New SCROLLINFO()
        scrollInf.cbSize = System.Runtime.InteropServices.Marshal.SizeOf(scrollInf)
        scrollInf.fMask = &H10 Or &H1 Or &H2 'SIF_RANGE = &H1, SIF_PAGE= &H2, SIF_TRACKPOS = &H10
        GetScrollInfo(control.Handle, 1, scrollInf)
    End Sub

    ' IsAtBottom
    Public Shared Function IsAtBottom(control As Control) As Boolean
        Get_ScrollInfo(control)
        Return scrollInf.max = (scrollInf.nTrackPos + scrollInf.nPage) - 1
    End Function

    ' IsAtTop
    Public Shared Function IsAtTop(control As Control) As Boolean
        Get_ScrollInfo(control)
        Return scrollInf.nTrackPos = 0
    End Function

    ' ReachedBottom
    Public Shared Function ReachedBottom(control As Control) As Boolean
        Get_ScrollInfo(control)
        Return scrollInf.max = scrollInf.nTrackPos + scrollInf.nPage
    End Function

    ' ReachedTop
    Public Shared Function ReachedTop(control As Control) As Boolean
        Get_ScrollInfo(control)
        Return scrollInf.nTrackPos < 0
    End Function

End Class

#End Region
于 2013-10-20T13:17:22.320 に答える