Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116

    Interrompere un ciclo alla pressione di un pulsante

    Io ci provo. Ho una windows form che mi carica con un ciclo abbastanza lungo circa 10000 record in un database, per dei test.

    E' possibile interrompere questo caricamento alla pressione di un pulsante senza fare ricorso ai Thread?
    E' possibile con il subclassing? o con i delegati sincroni?

    Pietro

  2. #2
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    non sono pratico di Windows Forms, (e credo anche che siamo nel forum sbagliato )

    consultanto un mio collega siamo arrivati a questo [credo però che parli anche di threads], se abbiamo preso una cantonata faccelo sapere

    http://msdn.microsoft.com/library/de...ngOverview.asp

  3. #3
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da djciko
    non sono pratico di Windows Forms, (e credo anche che siamo nel forum sbagliato )

    consultanto un mio collega siamo arrivati a questo [credo però che parli anche di threads], se abbiamo preso una cantonata faccelo sapere

    http://msdn.microsoft.com/library/de...ngOverview.asp
    1) non siamo nel forum sbagliato perchè la gente in gamba sta qui e perciò è il forum giusto

    2) non sono pratico di windows form, ma ho risolto coi threads. Però ricordo che con Visual Basic 6 era possibile interrogare il sistema e, per esempio, intercettare il tasto ESC

    Ciao
    Pietro

  4. #4

  5. #5
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da Daniele80
    io dico thread
    Si, hai ragione. Ho provato e funziona alla grande.

    Però (dopo aver consultato la documentazione di Visual Basic 4 ) ho ritrovato il vecchio e caro comando:

    System.Windows.Forms.Application.DoEvents()

    che funziona ancora bene.


    in pratica, lo pseudocodice è:


    Private Canceled As Boolean

    Private Sub Button_annulla_Click(***
    Me.Canceled = True
    end sub

    private sub Button_caricaDati(***
    Me.Canceled = False
    caricaDati.Enabled = false
    for i = 1 to ...
    Application.DoEvents()
    If Me.Canceled Then Exit for
    caricarecord
    next

    caricaDati.Enabled = true

    end sub


    ----------------------------------------------------
    Naturalmente, con i thread è altrettanto facile e le possibilità,
    magari usando i delegati asincroni, sono infinite.

    Pietro

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.