Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Не подскажете почему окошко не изчезает? Добавлено: 28.05.06 19:38  

Автор вопроса:  Nikolai
Не подскажете почему окошко не изчезает?
 
Public Class Form1

Dim i As Integer

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

For i = 99 To 0 Step 0.1

Me.Opacity = i

Refresh()

Next i

End Sub

End Class

и где :

#Region " Vom Windows Form Designer generierter Code "

Ответить

  Ответы Всего ответов: 2  

Номер ответа: 1
Автор ответа:
 yxaxa



Вопросов: 31
Ответов: 25
 Профиль | | #1 Добавлено: 28.05.06 22:45
Ну я не знаю почему не пашет, но вот как бы сделал я. Устанавливаем таймер с интервалом ну нуапример 1 с или как там захочешь, чтоб покрасивее.

Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Timer1.Enabled = True
    End Sub
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
If me.opacity<=0 then timer1.enabled=false
        Me.Opacity = Me.Opacity - 0.1
    End Sub
End Class


И вот все работает. Плюсы то что ты еще получаешь зависимость от времени. Т.е. будет прозрачность менятся через определеное время. В твоем коде там просто с какой скоростью комп сделает с такой и будет.

Ответить

Номер ответа: 2
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #2 Добавлено: 29.05.06 00:24
Не подскажете почему окошко не изчезает?

1. Свойство Opacity имеет тип Double и максимальное значение рано 1! (100%) а не 99 как у тебя..
2. Счетчик у тебя объявлен как :
Dim i As Integer

А Integer-это ЦЕЛОЕ число! Соответственно сделать из него 98.9 (Step 0.1
) у тебя никак не выйдет... Тип этой переменной должен быть Double
В результате.. в тело цикла программа никогда не попадет..
3. В событии Load такие вещи делать не стоит..

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам