Form_load выбирает строку (richtextbox), форма временно теряет фокус, возвращается обратно с выбранным всем richtextbox
У меня есть form_load, которая выбирает строку в RTB, и она отлично работает, делает указанную строку подсвеченной желтым, а все остальные строки нетронутыми. когда я нажимаю кнопку, загружаю другую форму и использую ее, а затем закрываю, исходная форма теперь полностью выделяет свое содержимое желтым цветом. Я попытался добавить rtb.DeselectAll() после выбранных строк кода, но, похоже, ничего не работает.
Я ценю любые предложения. заранее спасибо
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
ReminderList.SelectionStart = ReminderList.GetFirstCharIndexFromLine(0)
ReminderList.SelectionLength = ReminderList.Lines(Globalvar.ReminderCount 1).Length
ReminderList.SelectionBackColor = Color.Yellow
Call FillOutCal()
End Sub
ОБНОВЛЕНИЕ: То, что сказал Джим, я уже знаю, проблема в том, что когда я использую другую форму и возвращаюсь к исходной форме, выделенная желтая часть изменяется, чтобы охватить все поле расширенного текста. Вот код для кнопки Сохранить, которая возвращает основную форму с ошибкой выбора:
Private Sub SaveButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SaveButton.Click
FormDesktop.ReminderList.DeselectAll()
If ItemName.Text = Nothing Then
Dim newerror As DialogResult = MessageBox.Show("Missing some information to complete the entry, make sure everything is filled out.", _
"Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
Exit Sub
ElseIf ReminderRadio.Checked = False And TaskRadio.Checked = False And IdeaRadio.Checked = False Then
Dim newerror As DialogResult = MessageBox.Show("Missing some information to complete the entry, make sure everything is filled out.", _
"Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
Exit Sub
End If
Dim TypeOfIdea As Integer
If ReminderRadio.Checked = True Then
FormDesktop.ReminderList.Text += vbCrLf
TypeOfIdea = 1
Globalvar.ReminderCount += 1
ElseIf TaskRadio.Checked = True Then
FormDesktop.TaskList.Text += vbCrLf
TypeOfIdea = 2
Globalvar.TaskCount += 1
Else
FormDesktop.IdeaList.Text += vbCrLf
TypeOfIdea = 3
Globalvar.IdeaCount += 1
End If
Dim NameOfItem As String = ItemName.Text
Dim DueMonth As Integer = DateTimePick.Value.Month
Dim DueDay As Integer = DateTimePick.Value.Day
Dim DueYear As Integer = DateTimePick.Value.Year
Dim SubMonth As Integer = DateTime.Now.Month
Dim SubDay As Integer = DateTime.Now.Day
Dim SubYear As Integer = DateTime.Now.Year
Dim DueHour As Integer = Hour.Value
Dim DueMinute As Integer = Minute.Value
If TypeOfIdea = 1 Then
If Globalvar.ReminderCount = 1 Then
FormDesktop.ReminderList.Text += "#" + Globalvar.ReminderCount.ToString + " " + NameOfItem + vbCrLf
Else
FormDesktop.ReminderList.Text += vbCrLf + "#" + Globalvar.ReminderCount.ToString + " " + NameOfItem + vbCrLf
End If
If CheckBox1.Checked = True Then
FormDesktop.ReminderList.Text += "Due: " + DueMonth.ToString + "/" + DueDay.ToString + "/" + DueYear.ToString + ", " + _
DueHour.ToString + ":" + DueMinute.ToString + vbCrLf
Else
FormDesktop.ReminderList.Text += "Due: " + "N/A" + vbCrLf
End If
FormDesktop.ReminderList.Text += "Added: " + SubMonth.ToString + "/" + SubDay.ToString + "/" + SubYear.ToString + _
", " + DateTime.Now.Hour.ToString + ":" + DateTime.Now.Minute.ToString
ElseIf TypeOfIdea = 2 Then
If Globalvar.TaskCount = 1 Then
FormDesktop.TaskList.Text += "#" + Globalvar.TaskCount.ToString + " " + NameOfItem + vbCrLf
Else
FormDesktop.TaskList.Text += vbCrLf + "#" + Globalvar.TaskCount.ToString + " " + NameOfItem + vbCrLf
End If
If CheckBox1.Checked = True Then
FormDesktop.TaskList.Text += "Due: " + DueMonth.ToString + "/" + DueDay.ToString + "/" + DueYear.ToString + ", " + _
DueHour.ToString + ":" + DueMinute.ToString + vbCrLf
Else
FormDesktop.TaskList.Text += "Due: " + "N/A"
End If
FormDesktop.TaskList.Text += "Added: " + SubMonth.ToString + "/" + SubDay.ToString + "/" + SubYear.ToString + ", " + _
DateTime.Now.Hour.ToString + ":" + DateTime.Now.Minute.ToString
Else
If Globalvar.IdeaCount = 1 Then
FormDesktop.IdeaList.Text += "#" + Globalvar.IdeaCount.ToString + " " + NameOfItem + vbCrLf
Else
FormDesktop.IdeaList.Text += vbCrLf + "#" + Globalvar.IdeaCount.ToString + " " + NameOfItem + vbCrLf
End If
FormDesktop.IdeaList.Text += "Due: " + "N/A" + vbCrLf
FormDesktop.IdeaList.Text += "Added: " + SubMonth.ToString + "/" + SubDay.ToString + "/" + SubYear.ToString + ", " + _
DateTime.Now.Hour.ToString + ":" + DateTime.Now.Minute.ToString
End If
Me.Hide()
FormDesktop.BringToFront()
End Sub