すごいシンプルに。

textBox1で20バイトの制限をかけるとなるとこう↓

    Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
        If System.Text.Encoding.GetEncoding("Shift_JIS").GetByteCount(Me.TextBox1.Text) > 20 Then
            Me.TextBox1.Text = Me.TextBox1.Text.Remove(Me.TextBox1.Text.Length - 1)
            Me.TextBox1.SelectionStart = Me.TextBox1.TextLength
        End If
    End Sub

あまりにもシンプルにしすぎていろいろと対応できないコードになってる。

一応、うごく。不具合の可能性が高いけど。