Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 16-12-2010, 12: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, 14: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, 14: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, 14: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, 14: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, 14: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, 14: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


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
E se i computer elaborassero le informaz...
NVIDIA non ci sta: "Non lasceremo che l'...
Gli Stati Uniti hanno armi in orbita: ar...
Robot aspirapolvere in offerta su Amazon...
ChatGPT inventa testimoni falsi e un avv...
Find X10 Pro Max di OPPO arriverà...
L'IA scriverà codice migliore del suo st...
Valve apre le prenotazioni di Steam Fram...
ECOVACS T50 OMNI Gen3 a 379€: il riferim...
Netflix e Sega insieme: arrivano i film ...
Veeam ottiene la certificazione da parte...
XIAOMI Redmi Buds 8 a 37,94€: auricolari...
Il fotovoltaico scende sott'acqua: nuove...
Microsoft chiede supervisione umana nell...
MicroSD Samsung T9 da 256GB a 65,88€: sc...
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: 12:42.


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