Как создать исчезающую форму на потерянном фокусе и полученном событии - PullRequest
1 голос
/ 03 января 2012

Я делаю проект на vb.net. Когда я нажимаю на кнопку «Открыть», я открывал форму без блока управления (свернуть, развернуть и т. Д.). Установить borderStyle в FixedToolWindow. Я хочу изменить непрозрачность формы при получении фокуса и потере фокуса.,Я также использовал активированное и деактивированное событие, но не работает

   Private Sub form_Deactivate(ByVal sender As Object, ByVal e As System.EventArgs)HandlesMyBase.Deactivate
     Me.Opacity =0
      End Sub

   Private Sub form_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles  MyBase.Activated
        Me.Opacity = 1
    End Sub

Ответы [ 2 ]

1 голос
/ 04 января 2012

Попробуйте 0,01 во второй строке. Вы использовали 0 , и он скроет вашу форму.

Поскольку при щелчке в области формы form_Actived не запускается.

1 голос
/ 03 января 2012

Для этого вам нужно использовать System.Windows.Forms.Timer.реализация очень проста:

  • Имеют две переменные, называемые _fromOpactity и _toOpacity, и константу OpacityStep = 0,05
  • в форме.в / из.
  • В обработчике Истекшего события таймера, Увеличивайте или Уменьшайте OpacityStep (в зависимости от / до), пока не будет достигнуто желаемое значение.

Полный пример того, как это сделать, см. В статье .

С уважением,

...