Winform VB.net как всплывающее окно msgbox да / нет при обнаружении строки в richtextbox

Я занимаюсь разработкой программного обеспечения, которое использует последовательную связь для передачи данных. Моя проблема связана с richtextbox, который я хочу сделать всплывающим InputBox, когда слово "изменить конфигурацию?" появляется в richtextbox .

Пожалуйста, помогите мне.

это моя конфигурация:

    Private Sub btnWrEr_Click(sender As Object, e As EventArgs) Handles btnWrEr.Click
    SerialPort1.WriteLine("write erase" & vbCr & vbCr & "reload" & vbCr)
    If InStr(rtbReceived.Text, "System configuration has been modified. Save? [yes/no]:") Then
        Dim save As String
        save = InputBox("System configuration has been modified. Save? [yes/no]:", "yes/no")
        SerialPort1.WriteLine(save & vbCr)
    Else
        SerialPort1.Write(vbCr)
    End If
End Sub

и это моя rtb полученная кодировка:

Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
    ReceivedText(SerialPort1.ReadExisting())
End Sub


Private Sub ReceivedText(ByVal [text] As String)
    If Me.rtbReceived.InvokeRequired Then
        Dim x As New SetTextCallBack(AddressOf ReceivedText)
        Me.Invoke(x, New Object() {(text)})
    Else
        Me.rtbReceived.Text &= [text]
    End If

End Sub

Private Sub rtbReceived_TextChanged(sender As Object, e As EventArgs) Handles rtbReceived.TextChanged
    rtbReceived.SelectionStart = rtbReceived.TextLength
    rtbReceived.ScrollToCaret()
End Sub

1 ответ

Это выглядит довольно просто, просто добавьте этот код в событие изменения текста

    If RichTextBox1.Text.Contains("change configuration ?") Then
        InputString = InputBox("How do you want to change it?")
    End If

или вместо строки в операторе if..end if просто вызовите другую подпрограмму

Другие вопросы по тегам