Καλημέρα και καλές γιορτές σε όλους,
έχουμε και λέμε το πρόβλημα:
1)φτιαχνουμε μια form και την ορίζουμε οτι ειναι MDI container (οποτε παίρνει και αυτο το 3d look) με το γκριζο background
2)ορίζουμε και μια background image με layout "Stretch" φυσικα η εικονα δεν εμφανιζεται σε design mode αλλα στο runtime κανονικα.
3)μετα γράφουμε λιγο κωδικα πανω σε ενα κουμπακι για παραδειγμα και λεμε να φτιαχνουμε ενα νεο control (eg) τυπου command-button.
4)του οριζουμε το στιλ του να ειναι φλατ και οτι background color = Transparent!
5)μετα κανουμε mdiform.controls.add(mynewcontrol) εμφανιζεται το αντικειμενο αλλά το background του control δεν ειναι transparent ωστε να βλεπουμε την εικονα του MDI Parent αλλα γκρι!
αν κανουμε τα παντα σε design και η φορμα ΔΕΝ ειναι MDI και της βαλω background image τοτε το control γινεται transparent, αλλα σε runtime οχι!
πειραματιστικα με αυτα αλλα καμια διαφορα. ασε που ετσι και κανεις resize το mdi form η εικονα απο πισω γινεται χαλια καθος το rendering δεν παιζει σωστα οταν ειναι Strectch και αφήνει ίχνη.

meta to initilazation εκανα δοκιμες με τα ακόλουθα αλλά τζίφος. Το MDIform ειναι doubleBuffer=true
1
2
3
4
5
6
7
| Me.SetStyle(ControlStyles.DoubleBuffer, True)
Me.SetStyle(ControlStyles.AllPaintingInWmPaint, False)
Me.SetStyle(ControlStyles.UserPaint, False)
Me.SetStyle(ControlStyles.Opaque, True)
Me.SetStyle(ControlStyles.OptimizedDoubleBuffer, True)
Me.SetStyle(ControlStyles.ResizeRedraw, True)
Me.SetStyle(ControlStyles.SupportsTransparentBackColor, True) |
6)και ενα δευτερο "προβλημα" ειναι οτι τα mdi child παραθυρα που ανοιγουν δεν καλυπτουν το αντικειμενο αυτο, θα ηθελα το control να ειναι ενα layer πισω απο τα παραθυρα, δοκιμασα να παιξω με τα bringtofront & sendtoback αλλα τιποτα.
στην εικονα εμφανιζονται ολα τα προβληματα (no transparent control, image not redraws allways, child forms dont apear over the mdi "desktop" control.)

καμια ιδέα?
tnx a lot.
This Business Is Binary. You are a 1 or a 0. Alive or Dead.-