Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi
Mate X7 rinnova la sfida nel segmento dei pieghevoli premium puntando su un design ancora più sottile e resistente, unito al ritorno dei processori proprietari della serie Kirin. L'assenza dei servizi Google e del 5G pesa ancora sull'esperienza utente, ma il comparto fotografico e la qualità costruttiva cercano di compensare queste mancanze strutturali con soluzioni ingegneristiche di altissimo livello
Nioh 3: souls-like punitivo e Action RPG
Nioh 3: souls-like punitivo e Action RPG
Nioh 3 aggiorna la formula Team NINJA con aree esplorabili più grandi, due stili di combattimento intercambiabili al volo (Samurai e Ninja) e un sistema di progressione pieno di attività, basi nemiche e sfide legate al Crogiolo. La recensione entra nel dettaglio su combattimento, build, progressione e requisiti PC
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti
La facilità di installazione e la completa automazione di tutte le fasi di utilizzo, rendono questo prodotto l'ideale per molti clienti. Ecco com'è andata la nostra prova in anteprima
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 16-12-2010, 13:03   #1
rocketA
Member
 
L'Avatar di rocketA
 
Iscritto dal: Apr 2008
Messaggi: 217
[VB.NET 2010] Eseguire ciclo una sola volta

salve a tutti,
ho rinvenuto questo codice che dopo un tot di tempo d'inattivita' da parte dell'utente (per prova ho impostato 3 secondi), dovrebbe aprire un nuovo form.
Ho creato 2 form (Form1, Form2) e un timer (Timer1)

Codice:
Public Class Form1
    Private Structure POINTAPI
        Dim X As Integer
        Dim Y As Integer
    End Structure

    Dim MousePos As POINTAPI 'holds mouse position
    Dim mdtLastKBorMouseEvent As Date
    Dim mbIsIdle As Boolean
    Dim sysLogOffSecs As Integer = 3

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

    End Sub

    Public Sub subDetectIdle()
        Dim bIsIdle As Boolean
        Dim tCurrentPos As POINTAPI
        Dim lDiff As Integer
        bIsIdle = True
        tCurrentPos.X = CInt(Windows.Forms.Cursor.Position.X.ToString)
        tCurrentPos.Y = CInt(Windows.Forms.Cursor.Position.Y.ToString)
        'Mouse Moved?
        If (MousePos.X < tCurrentPos.X) Or (MousePos.Y <>
        tCurrentPos.Y) Then
            bIsIdle = False
            MousePos.X = tCurrentPos.X
            MousePos.Y = tCurrentPos.Y
        End If
        If Not bIsIdle Then 'Not idle...
            'Not idle... Update Current Time variable
            mdtLastKBorMouseEvent = Now
            'Make sure the module level var is set correctly
            mbIsIdle = False
        Else
            'Currently Idle. See how long
            If mbIsIdle = False Then
                'Number of seconds elapsed?
                lDiff = DateDiff(Microsoft.VisualBasic.DateInterval.Second, mdtLastKBorMouseEvent, Now)
                If lDiff >= sysLogOffSecs Then
                    mbIsIdle = True
                End If
            End If
        End If
    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Call subDetectIdle()
        If mbIsIdle = True Then
            Dim frm As New Form2()
            frm.ShowDialog()
        End If
    End Sub
    
End Class
Detto questo, vorrei far si' che una volta aperto il Form2, tutto si fermi, ovvero che ne venga aperta una sola istanza e stop.
Mi scuso per la banalita' della richiesta, ma proprio non ne vengo fuori.
Prego risposte terra-terra, ho cominciato con vb... ieri.
grazie
__________________
Acquisto sul forum tutto cio' che mi serve, mai un problema.
rocketA è offline   Rispondi citando il messaggio o parte di esso
Old 16-12-2010, 15:03   #2
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Mi sembra un codice molto prolisso...
Inoltre mi basta vedere una riga come :
Codice:
lDiff = DateDiff(Microsoft.VisualBasic.DateInterval.Second, mdtLastKBorMouseEvent, Now)
per pensare un po' maluccio...

Domanda : ma alla chiusura di Form2 il ciclo di controllo deve riprendere ?
Cioè, se passano altri 3 sec. la Form2 viene mostrata di nuovo ?
__________________
Contattami su FaceBook --> [ ::: MarcoGG su FaceBook ::: ]
Visita il mio Blog --> [ ::: Il Blog di MarcoGG ::: ]
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 16-12-2010, 15:10   #3
rocketA
Member
 
L'Avatar di rocketA
 
Iscritto dal: Apr 2008
Messaggi: 217
no, non deve riprendere.
__________________
Acquisto sul forum tutto cio' che mi serve, mai un problema.
rocketA è offline   Rispondi citando il messaggio o parte di esso
Old 16-12-2010, 15:13   #4
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
E l'azione del mouse va controllata solo in relazione a Form1 o anche se l'utente muove il mouse al di fuori dei limiti di Form1 ?
__________________
Contattami su FaceBook --> [ ::: MarcoGG su FaceBook ::: ]
Visita il mio Blog --> [ ::: Il Blog di MarcoGG ::: ]
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 16-12-2010, 15:19   #5
rocketA
Member
 
L'Avatar di rocketA
 
Iscritto dal: Apr 2008
Messaggi: 217
anche al di fuori del form.
diciamo che impostato un tempo d'inattivita', devo aprire un form a tutto schermo. avevo fatto una cosa del genere tirando in ballo lo screensaver (verifica se il file xxx.scr e' in esecuzione), ma anche li' mi si aprivano form multipli, uno al secondo... e soprattutto quest'operazione interrompeva lo screensaver, che in realta' poteva anche starci.
__________________
Acquisto sul forum tutto cio' che mi serve, mai un problema.
rocketA è offline   Rispondi citando il messaggio o parte di esso
Old 16-12-2010, 15:35   #6
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
La soluzione con minore impatto su quanto hai già scritto, posto che tutto il resto funzioni come deve, è questa :
Codice:
        If mbIsIdle = True Then
            Timer1.Enabled = False  		
            Dim frm As New Form2()
            frm.ShowDialog()
        End If
In pratica disabilitare il Timer con Timer1.Enabled = False, subito PRIMA le istruzioni per l'istanza di Form2.
__________________
Contattami su FaceBook --> [ ::: MarcoGG su FaceBook ::: ]
Visita il mio Blog --> [ ::: Il Blog di MarcoGG ::: ]
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 16-12-2010, 15:45   #7
rocketA
Member
 
L'Avatar di rocketA
 
Iscritto dal: Apr 2008
Messaggi: 217
...ma certo!!!

grazie 1000, preziosissimo!
__________________
Acquisto sul forum tutto cio' che mi serve, mai un problema.
rocketA è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi Recensione HUAWEI Mate X7: un foldable ottimo, m...
Nioh 3: souls-like punitivo e Action RPG Nioh 3: souls-like punitivo e Action RPG
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti Test in super anteprima di Navimow i220 LiDAR: i...
Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto Dark Perk Ergo e Sym provati tra wireless, softw...
DJI RS 5: stabilizzazione e tracking intelligente per ogni videomaker DJI RS 5: stabilizzazione e tracking intelligent...
Un MacBook Pro a -300€, i MacBook Air M4...
Amazon abbassa i prezzi sugli iPhone: sc...
Amazon, ancora sconti sugli smartphone A...
iPhone Air 2 'riciclerà' alcuni c...
Offerta Amazon da non perdere: lo speake...
Nioh 3 debutta alla grande su Steam: pri...
Al centro della Via Lattea ci potrebbe e...
Elon Musk ora guarda alla Luna: SpaceX p...
La Cina ha lanciato nuovamente lo spazio...
Blue Origin potrebbe realizzare il lande...
Artemis II: il prossimo Wet Dress Rehear...
Il nuovo HONOR 600 sta arrivando e avr&a...
La crisi delle memorie non coinvolger&ag...
Windows domina su Steam, ma molti utenti...
Per non incorrere in nuovi aumenti delle...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 10:09.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v