Warum wird mein Text markieren halten?
-
20-09-2019 - |
Frage
Ich mache einen „Toast“ in vb.net, und wann immer er erscheint, den gesamten Text im Körper Textbox wird immer hervorgehoben ... wie kann ich das Highlight programmatisch entfernen?
Danke!
Hier ist der Code, der automatisch zu sein scheint hervorheben:
Dim i As Integer
toast.HeaderL.Text = headertext
toast.BodyL.Text = contenttext
toast.Show()
toast.Opacity = 0
i = 0
While i < 100
toast.SetDesktopLocation(My.Computer.Screen.WorkingArea.Right - toast.Width, My.Computer.Screen.WorkingArea.Bottom - ((toast.Height / 100) * i))
toast.Opacity += 0.01
wait(7)
i += 1
End While
wait(4000)
toast.Opacity = 1
i = 0
While i < 100
toast.SetDesktopLocation(toast.Location.X, toast.Location.Y + toast.Height / 100)
toast.Opacity -= 0.01
wait(7)
i += 1
End While
toast.Close()
Immer, der Text innerhalb bodyl (die eine Textbox ist), Highlights itself.I Zugabe versucht in toast.Focus () an einigen Stellen, aber das hat nicht funktioniert.
Toast ist der Formularname.
Lösung
Es ist eher eine Vermutung, aber man könnte versuchen, die folgende Zeile hinzufügen, nachdem Sie den Text zu BodyL
Zuordnung:
toast.BodyL.Select(toast.BodyL.Text.Length, 0)
Eine weitere Idee ist eine andere Kontrolle der Toast Form (wie ein Panel
) hinzuzufügen, die Eingabefokus erhalten kann, ohne zeigt (es sehr klein gemacht werden kann, oder sogar haben sie außerhalb der sichtbare Teil der Form bewegt wird), und dafür sorgen, dass das Steuerelement den Fokus erhält, wenn der Toast Form angezeigt wird.