Καλημέρα σε όλους!
Παράθεση:
Αρχική Δημοσίευση από Χρήστος Ζητώ και πάλι την βοήθειά σας.
Ας υποθέσουμε οτι σε μια φόρμα υπάρχει ένα checkbox και ένα κουμπί Closebutton κλεισίματος της Φόρμας.
Με το κλικ του CloseButton της Φόρμας θα ήθελα να ελέγχεται το εξής:
-Αν το checkbox είναι ενεργό τότε να κλείνει η φόρμα
-ενώ
-αν δεν είναι
-να μην κλείνει
-και μάλιστα ακόμη και αν πατηθεί το κουμπάκι κλεισίματος στo παράθυρο διαλόγου της Φόρμας πάλι να μην κλείνει
-και να βγάζει προειδοποιητικό μήνυμα που να λέει "Κάντε επιλογή!" |
Χρήστο εγώ δεν θα χρησιμοποιούσα επιπλέον κουμπί για να κλείσω μια φόρμα όταν ήδη
υπάρχει κουμπί κλεισίματος στο πλαίσιο ελέγχου του παραθύρου της φόρμας.
Αυτό όμως είναι καθαρά δικό σου θέμα.
Όταν θέλεις να κλείσει μια φόρμα μόνο κάτω από ορισμένες προϋποθέσεις, ο πιο σίγουρος
τρόπος είναι να γράψεις κώδικα στο συμβάν της φόρμας "
Με την αποφόρτωση" (Form_Unload)
όπου σου προσφέρεται η επιλογή "Cancel" που ακυρώνει τη διαδικασία κλεισίματος ακόμα και αν ο χρήστης
προσπαθήσει να κλείσει ολόκληρη την εφαρμογή.
Παράδειγμα:
Έστω ότι το πλαίσιο ελέγχου (CheckBox) της φόρμας ονομάζεται "Check1".
Στο συμβάν της φόρμας μπορεί να τοποθετηθεί ο παρακάτω κώδικας:
Κώδικας:
Private Sub Form_Unload(Cancel As Integer)
If Not Nz(Me.Check1) Then
Cancel = True
MsgBox "Πρέπει να τσεκάτετε το πλαίσιο ελέγχου για να κλείσει η φόρμα!", vbInformation
End If
End Sub
Φιλικά
Τάσος