Προς το περιεχόμενο

C# form


nikos2027

Προτεινόμενες αναρτήσεις

Δημοσ.

Χαιρετώ παιδες.

Εχω την εξης απορία:

Ειμαι στη form1 και βγάζω 1 datagridview για

να δείξω και επεξεργαστω στη συνεχεια κάποια

αποτελεσματα....

Όταν κάνω 2click σε μια σειρά του datagridview

ανοιγει νέο παραθυρο form2 και κανω μια δουλεια

στα data της γραμμής που επελεξα.

Το πρόβλημα είναι ότι θέλω να ξαναγυρίζω στην

form1 με το που κλείνει η from2 και με το που μπαίνει ξανά

στη form1 να κάνει αυτόματα refresh

στο datagridview για νέα αποτελέσματα.

Δεν θέλω να γίνεται με button(χειροκινητα), θέλω να γίνεται

αυτόματα.

Ευχαριστώ.

Δημοσ.

στη form1 βαλε κωδικα στο Activated event να ξανακάνει query τα δεδομενα απο τον πινακα.

 

πχ. αντεγραψε την ιδια εντολή που είχε στο Load event (οταν ανοιγει η φορμα και φερνει τα data για πρωτη φορά)

Δημοσ.

To activated δουλεύει μονο μια φορα?

Δηλ. εβαλα στο activated να βγάζει ενα

μηνυμα και το εβαζε όλη την ώρα...

Φοβαμαι δηλ μη κανει το ιδιο και

με το datagridview και κολάει...

Δημοσ.

δεν εχω μεγαλη εμπειρία στο visual studio (vb + c# ) αλλα activated σημαινει οταν η φορμα γίνεται ενεργή (δηλαδη ηταν ενεργό αλλο παράθυρο και επιστρεφεις)

Αν βάλεις ενα msgbox για να δοκιμασεις το event, όταν εμφανιστεί το μηνυμα, γίνετε ενεργό το dialog του μηνυματος (κι αυτο μια μινι φόρμα ειναι), και η form1 ειναι ανενεργή.

πατάς ΟΚ στο μηνυμα, επιστρεφεις στη φορμ1, την κανεις ενεργή, και ξαναεκτελειτε το μηνυμα. (υποθετω)

 

ενω αν βαλεις να ανανεωνεται το grid, δεν θα φευγει απο τη φορμ1, δεν θα εκτελειτε συνεχεια.

βεβαια θα εκτελειτε σε οποιαδηποτε περίπτωση φευγεις και επιστρεφεις (πχ αν πας για λιγο στο windows taskbar, ή σε μια άλλη εφαρμογή).

 

μια ιδεα, μπορεις στη φορμ2, να αλλαζεις τιμη σε μια public μεταβλητή, ειτε πάντα, ειτε μονο αν γινει μια μεταβολή στη βάση, και η φορμ1 να κανει την ανανέωση μονο αν η μεταβλητή εχει αλλαγμένη τιμή. Ετσι δεν θα κανει ανανέωση σε άλλες περιπτώσεις.

 

δοκιμασε και το Enter event.

υπαρχει και ενα event "Gotfocus" στα controls γενικά, αλλα δεν το βλέπω στα form events.

 

απο το help:

Form..::.Activated Event

Occurs when the form is activated in code or by the user

 

Control..::.Enter Event

Occurs when the control is entered.

Δημοσ.

Όταν πατάς στο grid για να σου ανοίξει η 2η φόρμα και να κάνεις edit τα δεδομένα σου θα κάνεις το εξής.

 

στο _doubleClick event ή όπου κάνεις initialize τη δεύτερη φόρμα, θα την ανοίξεις ως modal.

 

>
<form> item = new <form>();
item.ShowDialog(this);

InitializeData();

 

Ανοίγοντας μια φόρμα ως modal ο κώδικας της form1 θα σταματήσει στο σημείο εκείνο μέχρι η δεύτερη να κλείσει και έτσι να συνεχιστει κ η εκτέλεση του υπόλοιπου κομματιού κώδικα της form1, στην περίπτωση μας η κλήση της function InitializeData.

 

Άρα με το που κλείσει η form2 θα κάνεις re-initialize τα δεδομένα σου και bind το grid από την αρχή.

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...