#vb.net #richtextbox
#vb.net #richtextbox
Вопрос:
Я проверяю, пуста ли строка в richtextbox. Если нет, он перейдет на следующую строку. Код, который я использую:
Dim text as string="hello"
Dim lines = RichTextBox1.Lines
Dim upperBound = lines.GetUpperBound(0)
If lines(upperBound).Trim() = String.Empty Then
lines(upperBound) = text
RichTextBox1.Lines = lines
Else
RichTextBox1.AppendText(Environment.NewLine amp; text)
End If
Который работает отлично. Но только сейчас я обнаружил, что если Richtextbox1 полностью пуст, этот код не добавит к нему текст. Есть ли какой-нибудь способ исправить эту маленькую ошибку? Спасибо
Комментарии:
1. Это отличный код, который я взял у @jmcilhinney, поэтому, если вы это увидите, ваша помощь будет оценена по достоинству 🙂
Ответ №1:
Посмотрите, делает ли это то, что вы хотите:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim text As String = "hello"
If RichTextBox1.Text.Trim = "" Then
RichTextBox1.AppendText(titolo)
ElseIf RichTextBox1.Lines(RichTextBox1.Lines.GetUpperBound(0)).Length = 0 Then
RichTextBox1.AppendText(titolo)
ElseIf RichTextBox1.Lines(RichTextBox1.Lines.GetUpperBound(0)).Trim = "" Then
Dim lines = RichTextBox1.Lines
lines(lines.GetUpperBound(0)) = titolo
RichTextBox1.Lines = lines
Else
RichTextBox1.AppendText(Environment.NewLine amp; text)
End If
End Sub
Ответ №2:
Вы можете попробовать эту очень эффективную систему.
Это называется LinQ для массива, вы можете запросить массив для пустой строки, если количество больше 0, затем выйти (или выдать ошибку)
Dim text As String = "hello"
Dim lines = RichTextBox1.Lines
Dim qry = From n In lines
Where n = ""
Select n
If qry.Count > 0 Then
'you can give some error here
End If
Комментарии:
1. Это не то, о чем я просил.
Ответ №3:
Попробуйте:
Dim text as string="hello"
Dim lines = RichTextBox1.Lines
Dim empty = {""}
If lines.Length = 0 Then lines = empty
Dim upperBound = lines.GetUpperBound(0)
If lines(upperBound).Trim() = String.Empty Then
lines(upperBound) = titolo
RichTextBox1.Lines = lines
Else
RichTextBox1.AppendText(Environment.NewLine amp; text)
End If
Комментарии:
1. Привет, используя параметр Strict on, он возвращает ошибку в ReDim(строки, 1): выражение является значением и, следовательно, не может быть целью присваивания.