Страница: 1 |
Страница: 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 с или как там захочешь, чтоб покрасивее.
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. Счетчик у тебя объявлен как :
А Integer-это ЦЕЛОЕ число! Соответственно сделать из него 98.9 (Step 0.1
) у тебя никак не выйдет... Тип этой переменной должен быть Double
В результате.. в тело цикла программа никогда не попадет..
3. В событии Load такие вещи делать не стоит..