Καταρχήν καλώς σας βρήκα,
Θέμα α): Λύθηκε - Φίλε Kelman ευχαριστώ για τη βοήθεια σου. Το Dock ήταν τελικά.
Έχω το εξής ζήτημα να λύσω και θα ήθελα τη βοήθεια σας. Έχω μια MDI εφαρμογή στην οποία στην αριστερή πλευρά έχω τοποθετήσει ένα πανελ για quick launch των child φορμών. Όταν κάνω Minimize μια child φόρμα δυστυχώς κρύβεται πίσω από το πάνελ. Δοκίμασα με διάφορες μεθόδους όπως στο τέλος του resize να αλλάζει top και left συντεταγμένες για να πηγαίνει εκεί που θέλω αλλά δε παίζει μέχρι στιγμής. Θα ήθελα λοιπόν από σας να μου πείτε τρόπους για να χειριστώ αυτό το θέμα. Ακόμη ήθελα να ρωτήσω το εξής: Υπάρχει τρόπος να ορίσω μια περιοχή μέσα στην MDI φόρμα όπου οτιδήποτε action γίνεται σε κάποιο στοιχείο (π.χ. μια child φόρμα) σε αυτή τη child φόρμα (π.χ. minimizing, maximizing) να μη ξεφεύγει από τα όρια που έχω ορίσει;
Edit: Η εφαρμογή είναι γραμμένη σε Visual Basic .Net 2005
Θέμα β) λύθηκε
Έχω μία MDI φόρμα η οποία περιέχει στο αριστερό μέρος ένα Panel το οποίο είναι docked στην MDI. Στο Panel επάνω υπάρχουν κάποια Labels τα οποία τρέχουν τις child forms (Σκεφτείτε ότι μοιάζει κάπως με το common tasks των windows). Αυτό που θέλω να κάνω είναι το εξής: Όταν τρέχω μία child φόρμα θέλω να ελέγχει αν η φόρμα είναι ανοιχτή και Minimized τότε να να τη κάνει restore (αυτό έχει γίνει όπως θα δείτε παρακάτω) και όταν είναι κλειστή να τη τρέχει (αυτό είναι που δε παίζει μέχρι στιγμής).
Σε ψευδοκώδικα σας παραθέτω τα εξής:
Σε ένα module έχω δηλώσει:
Public ChildForm as new frmSearch
frmMain:
private sub labelSearch_Click(mpla mpla mpla)
if childform.windowstate = minimized then
childform.windowstate = restore
Else
// Εδώ τώρα όταν εκτελώ αυτό το κώδικα και προηγουμένως είχα ανοίξει τη childform μου βγάζει ένα μήνυμα ότι έχει γίνει released το resource
// και κάτι τέτοιο. Προφανώς επειδή όταν άνοιξα τη childform την έκλεισα έπειτα με το Χ το οποίο εκτέλεσε τη childform.close. Το θέμα είναι ότι
// δε ξέρω πως θα τη ξανακάνω load και πως θα δω με κώδικα αν είναι Loaded.
childform.mdiparent = ME
childform.show
End If
Ευχαριστώ και πάλι