Κυριακή 10 Ιανουαρίου 2010

Φτιάχνουμε custom φόρμες - vb.net


Για σήμερα έχω ένα άρθρο που λίγο πολύ κάθε προγραμματιστής visual basic το έχει ψάξει στο ίντερνετ. Θα κάνουμε μια custom φόρμα. Δηλαδή με δικό της σχήμα και όχι το κλασσικό παραθυράκι που βλέπουμε κάθε φορά. Επίσης δέν θα έχει borders και θα είναι διάφανη. Και στο τέλος θα βάλουμε και κώδικα να την μετακινούμε.

Ας αρχίσουμε φτιάχνοντας μια φόρμα και αλλάζοντας τις εξής ιδιότητες.
Βack color : grey
Form border style: none
Transparency key : grey

Δέν παίζει ρόλο το χρώμα, αλλά να έχετε υπόψιν οτι το χρώμα που διαλέξαμε θα γίνει διάφανο όταν τρέξουμε το πρόγραμμα.

Ας βάλουμε ένα picture box ώστε να φορτώσουμε την εικόνα που θα είναι ουσιαστικά η εμφάνιση της φόρμας μας.

Ωραία πάμε να φορτώσουμε μια εικόνα τώρα. Βρήκα ένα ωραίο gif το οποίο θα βάλω. Επιλέγουμε picture box και από τις ιδιότητες επιλέγουμε image. Απο εκεί βάλτε την εικόνα που θέλετε.

Άς την φτιάξουμε και λίγο μέσα στο picture box για να φαίνεται ολόκληρη. Επιλέξτε από το μενού που βλέπετε stretch image η auto size.


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


Ο κώδικας είναι στάνταρ κάθε φορά οπότε καλό είναι να τον έχετε σε κάποιο αρχείο για να τον βάζετε σε κάθε custom φόρμα που θα φτιάχνετε.

Δηλώνω τα εξής
Dim newpoint As New System.Drawing.Point
Dim x, y As Integer

Στο mouse down του picture box

X = Control.MousePosition.X - Me.Location.X
Y = Control.MousePosition.Y – Me.Location.Y

Στο mouse move του picture box


If e.Button = Windows.Forms.MouseButtons.Left Then
newpoint = Control.MousePosition
newpoint.X = newpoint.X - x
newpoint.Y = newpoint.Y - y
Me.Location = newpoint

End If


ΟΚ τρέξτε το πρόγραμμα και μετακινήστε την φόρμα. Μετακινούμε την φόρμα όπου θέλουμε.
Παίξτε αρκετά με τις custom φόρμες και μπορείτε να καταλήξετε σε καλά αποτελέσματα ή και σε περίεργα όπως αυτό το χαζό ρολόι.
 

Copyright © panosdk Design by BTDesigner | Blogger Theme by BTDesigner | Powered by Blogger