Вот пример того, что, я думаю, вы хотите ... Я пытался сохранить его как можно ближе к вашему первоначальному примеру.В целях тестирования я поместил код в Form_Load и добавил таймер.Надеемся, что вы сможете протестировать и изменить свои собственные потребности.
Для формы необходимо установить Opacity
в 0 в конструкторе.Код будет постепенно изменяться от 0 до значения, хранящегося в файле, в противном случае по умолчанию будет 1.
Код имеет импорт System.IO
Private varOpacity As Double
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
'Set the path just once.
Dim pathOpacityLimit As String = Path.Combine(Application.StartupPath & "\Users\" & My.Settings.username, "opacity.goodsetting")
If File.Exists(pathOpacityLimit) Then
Try
Using read As New StreamReader(pathOpacityLimit)
If Double.TryParse(read.ReadLine, varOpacity) Then
'Value parsed - changed to 0.0 > 1.0 so inline with Me.Opacity. Start timer.
varOpacity /= 100
Timer2.Start()
Else
'Incorrect (not parsed) value in file - set default
Me.Opacity = 1
End If
read.Close()
End Using
Catch ex As Exception
'Exception - set default
Me.Opacity = 1
End Try
Else
'File doesn't exist - set default
Me.Opacity = 1
End If
End Sub
Private Sub Timer2_Tick(sender As Object, e As EventArgs) Handles Timer2.Tick
Me.Opacity += 0.1
If Me.Opacity < varOpacity Then Exit Sub
Me.Opacity = varOpacity
Timer2.Stop()
End Sub
Надеюсь, этого достаточно для начала работы.Вы также можете проверить сохраненное значение, чтобы убедиться, что оно попадает в требуемый диапазон от 0 до 100.