Ok i found a strange type of bug in MS default Richtextbox in vb.net 2008. If we add some line of text in Richtextbox programmaticlly. there is a gape from right side. see the image below

here is my code
Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim f As New Form
Dim rtb As New RichTextBox
f.Width = 500
f.Height = 500
rtb.RightToLeft = Windows.Forms.RightToLeft.Yes
For i = 1 To 20
rtb.AppendText("بسم اللہ الرحمن الرحیم" & vbNewLine)
Next
rtb.Dock = DockStyle.Fill
f.Controls.Add(rtb)
f.Show()
End Sub
I can’t explain it, but try changing the order of your code so that the RichTextBox control is added to the form before you append the text. This worked for me:
I added a hack
BeginInvokemethod that performs aScrollToCaret()call which seems to fix the problem.