Η συνάρτηση DoEvents

Σημείωση: Θέλουμε να σας παρέχουμε το πιο πρόσφατο περιεχόμενο βοήθειας στη γλώσσα σας όσο πιο σύντομα γίνεται. Αυτή η σελίδα έχω μεταφραστεί μέσω αυτοματοποιημένης διαδικασίας και ενδεχομένως να περιέχει γραμματικά λάθη και ανακρίβειες. Ο σκοπός μας είναι αυτό το περιεχόμενο να σας φανεί χρήσιμο. Μπορείτε να μας ενημερώσετε στο κάτω μέρος αυτής της σελίδας εάν οι πληροφορίες σάς φάνηκαν χρήσιμες; Εδώ θα βρείτε το άρθρο στα Αγγλικά, για να το συμβουλεύεστε εύκολα.

Σημείωση: Η συνάρτηση, τη μέθοδο, αντικείμενο ή ιδιότητα που περιγράφονται σε αυτό το θέμα είναι απενεργοποιημένη, εάν η Microsoft Jet Expression Service εκτελείται σε λειτουργία φίλτρου, η οποία δεν επιτρέπει την αξιολόγηση της ενδεχομένως μη ασφαλών παραστάσεων. Για περισσότερες πληροφορίες σχετικά με τη λειτουργία sandbox, κάντε αναζήτηση για "η λειτουργία φίλτρου" στη Βοήθεια.

Αποδόσεις εκτέλεσης, έτσι ώστε το λειτουργικό σύστημα μπορεί να επεξεργαστεί άλλα συμβάντα.

Σύνταξη

Η συνάρτηση DoEvents ( )

Παρατηρήσεις

Η συνάρτηση DoEvents επιστρέφει έναν ακέραιο που αντιπροσωπεύει το πλήθος των ανοιχτών φορμών σε μεμονωμένο εκδόσεις της Microsoft Visual Basic, όπως η Visual Basic, Professional Edition. Η συνάρτηση DoEvents επιστρέφει την τιμή μηδέν σε όλες τις άλλες εφαρμογές.

Η συνάρτηση DoEvents μεταβιβάζει τον έλεγχο στο λειτουργικό σύστημα. Στοιχείο ελέγχου επιστρέφεται μετά το λειτουργικό σύστημα ολοκλήρωσε την επεξεργασία των συμβάντων στην ουρά και έχουν σταλεί όλα τα κλειδιά στην ουρά SendKeys .

Η συνάρτηση DoEvents είναι πολύ χρήσιμη για απλά πράγματα, όπως να επιτρέπεται στον χρήστη για να ακυρώσετε μια διαδικασία αφού έχει ξεκινήσει, για παράδειγμα μια αναζήτηση για ένα αρχείο. Για διαδικασίες μεγάλη διάρκεια εκτέλεσης, παραχώρηση στον επεξεργαστή πραγματοποιείται καλύτερα με χρήση ενός μετρητή ή ανάθεση της εργασίας σε ένα στοιχείο ActiveX EXE. Στην τελευταία περίπτωση, η εργασία μπορεί να συνεχιστεί ανεξάρτητα από την εφαρμογή σας και το λειτουργικό σύστημα αναλαμβάνει πολλαπλών εργασιών και διαχωρισμό του χρόνου.

Οποιαδήποτε στιγμή ανατρέχετε στον επεξεργαστή μέσα σε μια διαδικασία συμβάντος, βεβαιωθείτε ότι το διαδικασία δεν εκτελείται ξανά από ένα διαφορετικό τμήμα του κώδικα πριν από την πρώτη κλήση επιστρέφει; Αυτό μπορεί να προκαλέσει απρόσμενα αποτελέσματα. Επιπλέον, μην χρησιμοποιείτε DoEvents Εάν άλλες εφαρμογές θα μπορούσε να είναι δυνατόν να αλληλεπιδράσετε με τη διαδικασία σας με απρόβλεπτους τρόπους στη διάρκεια του χρόνου που έχετε παραχωρήσει τον έλεγχο.

Παράδειγμα

Σημείωση: Παραδείγματα που ακολουθούν δείχνουν τη χρήση αυτής της συνάρτησης σε ένα έργο Visual Basic για τη λειτουργική μονάδα Applications (VBA). Για περισσότερες πληροφορίες σχετικά με την εργασία με τη VBA, επιλέξτε Αναφορά προγραμματιστών στην αναπτυσσόμενη λίστα δίπλα στο στοιχείο Αναζήτηση και πληκτρολογήστε μία ή περισσότερες όρων στο πλαίσιο αναζήτησης.

Αυτό το παράδειγμα χρησιμοποιεί τη συνάρτηση DoEvents για να προκαλέσει εκτέλεση για να εκτελέσει το λειτουργικό σύστημα μία φορά σε κάθε 1000 επαναλήψεις του βρόχου. Η συνάρτηση DoEvents επιστρέφει τον αριθμό των ανοιχτών φορμών Visual Basic, αλλά μόνο όταν η εφαρμογή κεντρικού υπολογιστή είναι Visual Basic.

' Create a variable to hold number of 
' Visual Basic forms loaded and visible.
Dim I, OpenForms
For I = 1 To 150000 ' Start loop.
If I Mod 1000 = 0 Then ' If loop has repeated
' 1000 times.
OpenForms = DoEvents ' Yield to operating system.
End If
Next I ' Increment loop counter.
Αναπτύξτε τις δεξιότητές σας στο Office
Εξερευνήστε το περιεχόμενο της εκπαίδευσης
Αποκτήστε πρώτοι τις νέες δυνατότητες
Γίνετε μέλος του Office Insider

Σας βοήθησαν αυτές οι πληροφορίες;

Σας ευχαριστούμε για τα σχόλιά σας!

Σας ευχαριστούμε για τα σχόλιά σας! Φαίνεται ότι μπορεί να είναι χρήσιμο να συνδεθείτε με έναν από τους συνεργάτες υποστήριξης του Office.

×