Gracias por tu respuesta.
La variable estado, es un miembro privado d esta clase, en el supuesto; estoy entendiendo que esta se inicializa como nueva, modificando un poco el código, y aplicando mas timers, me sucede exactamente lo mismo; de entrada esta variable que declaré como entea queda en cero:
Código vb.net:
Ver original'Sub New()
Public Sub New()
MyBase.New()
SetStyle(ControlStyles.AllPaintingInWmPaint, True)
SetStyle(ControlStyles.UserPaint, True)
SetStyle(ControlStyles.OptimizedDoubleBuffer, True)
Me.BackColor = Color.Transparent
x2 = 0
y2 = 0
ancho = Me.Width
alto = Me.Height
modecolor = 1
Color1 = Color.Black
Color2 = Color.White
Color3 = Color.Black
posiciones = New Single() {0, 0.2, 1.0}
Av = 255
Vel = 16
intervalo = 25
intervalo2 = 50
timer1 = New System.Windows.Forms.Timer
timer2 = New System.Windows.Forms.Timer
AddHandler timer1.Tick, AddressOf Me.timer1_tick
AddHandler timer2.Tick, AddressOf Me.timer2_tick
edo1 = 0
edo2 = 0
End Sub
Arbitrariamente le asigno un valor negativo si quiero desvanecer y un positivo para que aparezca de nuevo, y aunq ponga el .visible = x en algun lugar o despues de completar la opacida, no hay cambios!! Realiza este efecto sin poderme dar las opciones o efectos que necesito... CAbe mencionar que para no sobreescribir las cosas, use timers y variables x separado... Les dejo los códigos que inicializan los efectos y los tick's q usé... ya me quedé sin ideas, la vdd...
Código vb.net:
Ver originalPublic Sub Sh() 'aparece el panel...
While edo1 <> 0
End While
timer1.Interval = intervalo
edo1 = 1
timer1.Start()
End Sub
Public Function ShowAllObjects() As Integer '.visible = TRUE a todos los objetos contenidos...
While edo2 <> 0
End While
timer2.Interval = intervalo2
edo2 = 1
idx = 0
timer2.Start()
End Function
Public Sub Hy() 'desaparece el panel...
While edo1 <> 0
End While
timer1.Interval = intervalo
edo1 = -1
timer1.Start()
End Sub
Public Function HideAllObjects() As Integer '.visible = false
While edo2 <> 0
End While
timer2.Interval = intervalo2
edo2 = -1
idx = 0
timer2.Start()
End Function
Private Sub timer1_tick(ByVal sender As Object, ByVal e As System.EventArgs)
If edo1 < 0 Then
If Me.Opacity = 0 Then
timer1.Stop()
edo1 = 0
Else
Me.Opacity -= Vel
End If
End If
If edo1 > 0 Then
If Me.Opacity = 255 Then
timer1.Stop()
edo1 = 0
Else
Me.Opacity += Vel
End If
End If
Me.Refresh()
End Sub
Private Sub timer2_tick(ByVal sender As Object, ByVal e As System.EventArgs)
If idx >= Me.Controls.Count Then
timer2.Stop()
edo2 = 0
End If
If edo2 > 0 Then 'showall
Me.Controls(idx).Visible = True
End If
If edo2 < 0 Then 'hideall
Me.Controls(idx).Visible = False
End If
End Sub
Gracias a todos x su atención...