Oppure

Loading
19/12/09 21:38
fabriziorocca
Ciao genietti, volevo chiedervi come creare un programma che si apra ad apertura a scorrimento proprio come quello nell'allegato.

L'unica cosa che posso immaginare è che ci vuole un timer
aaa
19/12/09 23:12
Daniele93
La soluzione migliore per la grafica sono le WPF

Altrimenti potresti usare il timer!

P.S. Il programma non funziona...
Ultima modifica effettuata da Daniele93 19/12/09 23:14
aaa
20/12/09 11:41
fabriziorocca
Scusate, per aprire il programma bisogna avere collegata al computer una periferica.

Comunque ho caricato il video sul Tuo Tubo

youtube.com/…
aaa
20/12/09 15:31
Daniele93
è decisamente ralizzata con un timer... Ma altrettanto decisamente ti consiglio le WPF
aaa
20/12/09 15:35
fabriziorocca
A parte le WPF in cui non sono per niente bravo, come faccio a definire al programma come deve espandersi ?
aaa
20/12/09 15:39
Daniele93
Ad esempio per farlo a tendina:
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        If Me.Height < 100 Then
            Me.Height = Me.Height + 10
        Else
            Timer1.Enabled = False
        End If
    End Sub
Ultima modifica effettuata da Daniele93 20/12/09 15:51
aaa
20/12/09 22:32
peteruncle9
Sicuramente conviene usare WPF: con il timer l'animazione non è fluida per più motivi:
-la finestra aumenta solo al tick del timer
-quando si verifica Timer_tick la finestra si ingrandisce di 10 in 10
-la dimensione della finestra non sarà precisa (Me.height < 100, può essere 101, 102,109 ...)

inoltre correggerei con questo:

 Const FormHeight As Integer = 100
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        If Me.Height < FormHeight Then
            Me.Height = Me.Height + 10
        Else
            Me.Height = FormHeight 
            Timer1.Enabled = False
        End If
    End Sub
aaa
22/12/09 8:54
Il Totem
Beh, ma... anche in WPF si usa questo metodo! Si chiama in modo diverso, ma il concetto è sempre lo stesso. Dovrebbe essere qualcosa del genere:
    Private WAnim As New DoubleAnimation(1, My.Computer.Screen.PrimaryScreen.Bounds.Width, New Duration(TimeSpan.FromSeconds(4)))
    Private HAnim As New DoubleAnimation(1, My.Computer.Screen.PrimaryScreen.Bounds.Height, New Duration(TimeSpan.FromSeconds(4)))

    Private Sub Window1_Loaded(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded
        Me.BeginAnimation(Me.WidthProperty, WAnim)
        Me.BeginAnimation(Me.HeightProperty, HAnim)
    End Sub

Tuttavia avresti ancora il problema di centrare la finestra sullo schermo, e per quello ci vorrebbe comunque un timer, quindi...
aaa