Почему мой текст продолжает выделяться? - PullRequest
2 голосов
/ 28 августа 2009

Я делаю «тост» в vb.net, и всякий раз, когда он появляется, ВСЕГДА выделяется весь текст в текстовом поле тела ... как программно удалить выделение?

Спасибо!

Вот код, который автоматически подсвечивается:

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()

Всегда, текст внутри BodyL (который является текстовым полем) подсвечивается сам. Я пытался добавить toast.Focus () в некоторых местах, но это не сработало.

тост - это имя формы.

1 Ответ

3 голосов
/ 28 августа 2009

Это скорее предположение, но вы можете попытаться добавить следующую строку после присвоения текста BodyL:

toast.BodyL.Select(toast.BodyL.Text.Length, 0)

Другая идея заключается в добавлении некоторого другого элемента управления к форме тоста (например, Panel), который может получать фокус ввода без отображения (его можно сделать очень маленьким или даже переместить за пределы видимой части формы). ) и убедитесь, что этот элемент управления получает фокус при отображении формы тоста.

...