Στο σημερινό project θα φτιάξουμε ένα πρόγραμμα που μπορεί να δημιουργεί ευθείες γραμμές, Συγκεκριμένα στο πρόγραμμα που θα φτιάξω θα δημιουργό γραμμές μέσα σε ένα picturebox εσείς όμως μπορείτε να το χρησιμοποιήσετε όπως θέλετε και όπου θέλετε! Όπως πάνω σε μια φωτογραφία μέσα στο form ή και στην επιφάνεια εργασίας. Συγκεκριμένα εγώ θα σας δείξω τις βασικές δυνατότητες, Το συγκεκριμένο project είναι κάπως δύσκολο γιαυτο δείξτε προσοχή στο τι λέω!
Σε αυτό το project θα χρειαστούμε:
1 Button
4 Textbox
4 Label
1 PictureBox
Επίσης θα χρειαστείτε το powerpack της microsoft...
Εγώ τα σύνταξα κάπως έτσι(button1..etc)
Ο Πρώτος και
βασικότερος κωδικός για να λειτουργήσει αυτή η δυνατότητα είναι ο παρακάτω '
Imports Microsoft.VisualBasic.PowerPacks' ο οποιος μπαίνει στην
πρώτη σειρά τον κωδίκων!!
Άμεσος μετά πηγαίνουμε Project -> Add reference -> (διπλό click στο) Microsoft.VisualBasic.PowerPacks
Ώστε να εισαχθεί η δυνατότητα στο project μας!
Τώρα είμαστε έτοιμη να ξεκινήσουμε το ενδιαφέρον κομμάτι.
Στο button1_click βάζουμε τον εξής κωδικό
Dim canvas
As New ShapeContainer
Dim theLine As New LineShape
canvas.Parent = PictureBox1
theLine.Parent = canvas
theLine.StartPoint =
New System.Drawing.Point(TextBox1.Text, TextBox2.Text)
theLine.EndPoint =
New System.Drawing.Point(TextBox3.Text, TextBox4.Text)
Εξήγηση: με τα dim δημιουργούμε την δυνατότητα σχεδίασης στο form
Canvas.parent = Picturebox1 .. Σε πιο αντικείμενο να σχεδιάζουμε γραμμές εγώ έχω επιλέξει το picturebox γίαυτό είναι γραμμένο
theLine.StartPoint = New System.Drawing.Point(TextBox1.Text, TextBox2.Text) ..
Σιμενι πως ξεκινάμε μια γραμμα απο τα σιμια Α Καθετα & Β Οριζοντιας της οθονης μας
Συγκεκριμένα εγς χρησιμοποίησα τησ σιντενταγμενες τον textbox1 και 2.. η οπιες ειναι η σιντεταγμενες του ποντικιού το ιδιο πραγμα και με το theLine.EndPoint = New System.Drawing.Point(TextBox3.Text, TextBox4.Text) που θα τελειώνει η γραμμη μας! χαρείς της συντεταγμενες...
Αυτό που πρέπει να κάνουμε τώρα είναι πως όταν κάνουμε click στο picturebox να παίρνουμε τις ακριβές συντεταγμένες του ποντικιού ώστε η γραμμή μας να βγαίνει σαφείς.
Εαν θέλουμε να περνούμε της σηντεταγμενες την στιγμή που χρισιμοπειουμε το προγραμμα
Βαζουμε ενα picturebox1_MouseMove και στο mousemove βαζουμε τον εξεις κοδικο
Dim phx
As String
Dim phy
As String
phx = Me.Location.X + 8
phy = Me.Location.Y + 90
Dim mousex
As String
Dim mousey
As String
mousex = MousePosition.X
mousey = MousePosition.Y
Label1.Text = mousex - phx
Label2.Text = mousey - phy
Γιαυτον το λόγο εγώ δημιουργήσει δυο συντεταγμένες mousex και mousey ώστε να περνώ την ακριβής θέση του ποντικιού στην οθόνη ..
Δυο συντεταγμένες phx και phy για να κάνω την αφαίρεση τις τοποθεσίας του παραθυρου με την τοποθεσία του ποντικιού στην οθόνη. Με αυτόν το τρόπο που βλέπετε με το +8 και +90 ρυθμίζω ώστε η θέση του ποντικιού 0* στην θέση του παραθυρου... Δηλαδή η κανονική θέση 0* του ποντικιού είναι στην μια γωνια της οθόνης μας έως την άλλοι με αυτόν το τρόπο κάνω την γωνια του παραθύρου μου ως 0* θέση του ποντικιού ώστε να εμφανίζεται σωστά η γραμμή,,,
περίπλοκο; ANYWAY το tutorial τελειώνει εδώ παιξτε με τα +8 και +90 οστε η θεσει του ποντικιού 0 να βρίσκετε στην γονια του παραθύρου