Εισαγωγή

MLightButton ver1.0 help
Εισαγωγή

Το MLightButton ver1.0 είναι ένα .ΝΕΤ Framework 3.5 control, το οποίο αποτελεί μία προσαρμογή του στάνταρτ Windows Forms Buttons control.

Με αυτό μπορούμε να ορίσουμε εμπλουτισμένες δυνατότητες background, σε κατάσταση Normal, MouseOver και MouseDown, όπως :

  • Σταθερό χρώμα (Solid color)

  • Διαβάθμιση δύο χρωμάτων (Gradient of two colors)

  • Διαβάθμιση πολλών χρωμάτων (multi - Gradient colors)

  • Μοτίβο (Hatch style)

  • Εικόνα (Texture)

    Η εικόνα μπορεί να αποδοθεί ως Tile ή όπως είναι με zoom, stretch κλπ.

Στην παρούσα έκδοση το multi-Gradient μπορεί να οριστεί μόνο μέσω κώδικα κι όχι στον Property Editor (design mode). Επίσης, στην παρούσα έκδοση δεν υποστηρίζεται εικόνα δίπλα στο κείμενο του button.

Επίσης, μπορούμε να καθορίσουμε ότι σε κατάσταση MouseOver να γίνεται μεγέθυνση ορίζοντας ένα ποσοστό μεγέθυνσης. Π.χ. Αν ορίσουμε ποσοστό μεγέθυνσης 10 τότε όταν το ποντίκι θα περνά πάνω από το button θα γίνεται 10% αύξηση.

Πχ.

Normal

Enlarge when MouseOver

Namespace: Mouratx.Win

Ανάπτυξη : Χρήστος Μουρατίδης 2009 - E mail: mouratx@yahoo.com


Διανομή

MLightButton ver1.0 help
Διανομή

Άδεια έκδοσης : Freeware

  • Μπορείτε να χρησιμοποιήσετε ελεύθερα το component στις εφαρμογές σας.
  • Κατά τη διανομή, στο φάκελο της εφαρμογής σας πρέπει να αντιγράψετε και το assembly αρχείο MLightButton.dll.


Επικοινωνία

MLightButton ver1.0 help
Επικοινωνία

Για οποιαδήποτε πληροφορία ή διευκρίνηση παρακαλώ επικοινωνήστε στο :

mouratx@yahoo.com ή mouratx@hotmail.com

Χρήστος Μουρατίδης, Ιανουάριος 2009


Ιδιότητες

MLightButton ver1.0 help
Ιδιότητες

BackColorInfo | Καθορίζει το χρώμα του BackGround
BackColorInfoOver | Καθορίζει το χρώμα του BackGround σε MouseOver κατάσταση
BackColorInfoDown | Καθορίζει το χρώμα του BackGround σε MouseDown κατάσταση
ForeColorOver | Καθορίζει το ForeColor χρώμα σε MouseOver κατάσταση
ForeColorDown | Καθορίζει το ForeColor χρώμα σε MouseDown κατάσταση
Enlarge | Καθορίζει αν θα γίνεται μεγέθυνση σε MouseOver κατάσταση
EnlargePercent | Καθορίζει το ποσοστό της μεγέθυνσης

Οι παρακάτω ιδιότητες του στάνταρ Windows Forms Βutton έχουν απενεργοποιηθεί :

  • AutoEllipsis
  • BackColor
  • BackgroundImage
  • BackgroundImageLayout
  • Image
  • ImageAlign
  • ImageIndex
  • ImageKey
  • ImageList
  • TextImageRelation
  • FlatAppearance
  • FlatStyle
  • UseVisualStyleBackColor
  • UseMnemonic

·

·


BackColorInfo

MLightButton ver1.0 help
BackColorInfo

Θέτει ή λαμβάνει τις χρωματικές πληροφορίες του background του MLightButton.

Τύπος : Αντικείμενο της κλάσης clsBackColorInfo.

Παράδειγμα : Στο παρακάτω παράδειγμα, δημιουργούμε ένα αντικείμενο clsBackColorInfo, του θέτουμε δύο χρώματα (μαύρο-κίτρινο) για ένα background τύπου GradientTwo, ορίζουμε το mode να είναι Centered και το εκχωρούμε στην ιδιότητα BackColorInfo ενός control MLightButton1 :

Imports Mouratx.Win

Dim clr As New clsBackColorInfo
clr.ColorGradient1 = Color.Black
clr.ColorGradient2 = Color.Yellow
clr.GradientTwoMode = clsBackColorInfo.GradientModeEnum.Centered

MLightButton1.BackColorInfo = clr
MLightButton1.Invalidate()


BackColorInfoOver

MLightButton ver1.0 help
BackColorInfoOver

Θέτει ή λαμβάνει τις χρωματικές πληροφορίες του background του MLightButton για MouseOver.

Τύπος : Αντικείμενο της κλάσης clsBackColorInfo.

Παράδειγμα : Στο παρακάτω παράδειγμα, δημιουργούμε ένα αντικείμενο clsBackColorInfo, του θέτουμε δύο χρώματα (μαύρο-κίτρινο) για ένα background τύπου GradientTwo, ορίζουμε το mode να είναι Centered και το εκχωρούμε στην ιδιότητα BackColorInfo ενός control MLightButton1. Παρομοίως, δημιουργούμε άλλο ένα αντικείμενο clsBackColorInfo για την MouseOver κατάσταση :

Imports Mouratx.Win

'Normal
Dim clr As New clsBackColorInfo
clr.ColorGradient1 = Color.Black
clr.ColorGradient2 = Color.Yellow
clr.GradientTwoMode = clsBackColorInfo.GradientModeEnum.Centered

MLightButton1.BackColorInfo = clr

'MouseOver
Dim clrOver As New clsBackColorInfo
clrOver.ColorGradient1 = Color.Orange
clrOver.ColorGradient2 = Color.Yellow
clrOver.GradientTwoMode = clsBackColorInfo.GradientModeEnum.Vertical

MLightButton1.BackColorInfoOver = clrOver
MLightButton1.ForeColorOver = Color.Blue

MLightButton1.Invalidate()

Normal

MouseOver


BackColorInfoDown

MLightButton ver1.0 help
BackColorInfoDown

Θέτει ή λαμβάνει τις χρωματικές πληροφορίες του background του MLightButton για MouseDown.

Τύπος : Αντικείμενο της κλάσης clsBackColorInfo.

Παράδειγμα : Στο παρακάτω παράδειγμα, δημιουργούμε ένα αντικείμενο clsBackColorInfo, του θέτουμε δύο χρώματα (μαύρο-κίτρινο) για ένα background τύπου GradientTwo, ορίζουμε το mode να είναι Centered και το εκχωρούμε στην ιδιότητα BackColorInfo ενός control MLightButton1. Παρομοίως, δημιουργούμε άλλο ένα αντικείμενο clsBackColorInfo για την MouseDown κατάσταση :

Imports Mouratx.Win

'Normal
Dim clr As New clsBackColorInfo
clr.ColorGradient1 = Color.Black
clr.ColorGradient2 = Color.Yellow
clr.GradientTwoMode = clsBackColorInfo.GradientModeEnum.Centered

MLightButton1.BackColorInfo = clr

'MouseDown
Dim clrDown As New clsBackColorInfo
clrDown.ColorGradient1 = Color.Blue
clrDown.ColorGradient2 = Color.Yellow
clrDown.GradientTwoMode = clsBackColorInfo.GradientModeEnum.ForwardDiagonal
clrDown.GradientTwoEffectBlendEffect = clsBackColorInfo.GradientTwoEffectEnum.SigmaBell
clrDown.GradientTwoEffectFocus = 0.3F
clrDown.GradientTwoEffectScale = 0.6F

MLightButton1.BackColorInfoDown = clrDown
MLightButton1.ForeColorDown = Color.Yellow

MLightButton1.Invalidate()

Normal

MouseDown


ForeColorOver

MLightButton ver1.0 help
ForeColorOver

Θέτει ή λαμβάνει το ForeColor χρώμα του MLightButton για MouseOver.

Τύπος : Color

Default τιμή : Ίδια με την ορισμένη στην ForeColor.

Παράδειγμα : Παρακάτω, ορίζουμε ότι όταν θα περνάει το ποντίκι πάνω από το button, το χρώμα του text θα γίνεται πορτοκαλί:

Imports Mouratx.Win

MLightButton1.ForeColorOver = Color.Orange


ForeColorDown

MLightButton ver1.0 help
ForeColorDown

Θέτει ή λαμβάνει το ForeColor χρώμα του MLightButton για MouseDown.

Τύπος : Color

Default τιμή : Ίδια με την ορισμένη στην ForeColor.

Παράδειγμα : Παρακάτω, ορίζουμε ότι όταν θα είναι πατημένο το ποντίκι πάνω στο button, το χρώμα του text θα γίνεται μπλε:

Imports Mouratx.Win

MLightButton1.ForeColorDown = Color.Blue


Enlarge

MLightButton ver1.0 help
Enlarge

Θέτει ή λαμβάνει αν θα γίνεται μεγέθυνση του MLightButton για MouseOver.

Τύπος : Boolean

Default τιμή : False

Παράδειγμα : Παρακάτω, ορίζουμε ότι όταν θα περνάει το ποντίκι πάνω από το button, τότε θα γίνεται μεγέθυνση κατά 10% :

Imports Mouratx.Win

MLightButton1.Enlarge = True
MLightButton1.EnlargePercent = 10

Normal

Enlarge when MouseOver


EnlargePercent

MLightButton ver1.0 help
EnlargePercent

Θέτει ή λαμβάνει το ποσό μεγέθυνσης του MLightButton για MouseOver.

Τύπος : Ακέραιος

Default τιμή : 4

Παράδειγμα : Παρακάτω, ορίζουμε ότι όταν θα περνάει το ποντίκι πάνω από το button, τότε θα γίνεται μεγέθυνση κατά 10% :

Imports Mouratx.Win

MLightButton1.Enlarge = True
MLightButton1.EnlargePercent = 10

Normal

Enlarge when MouseOver


Μέθοδοι

MLightButton ver1.0 help
Μέθοδοι

Constructor New

Δημιουργεί ένα νέο αντικείμενο MLightButton.


Constructor New

MLightButton ver1.0 help
Constructor New

Δημιουργεί ένα νέο αντικείμενο MLightButton.

  1. Public Sub New()

Παράδειγμα 1 : Δημιουργεί ένα νέο αντικείμενο MLightButton με προκαθορισμένες τιμές BackColorInfo :

Imports Mouratx.Win

Dim MLightButton1 As New MLightButton


Γεγονότα

MLightButton ver1.0 help
Γεγονότα

BackColorInfoChanged | Ενεργοποιείται όταν θέτουμε ένα αντικείμενο τύπου clsBackColorInfo στην ιδιότητα BackColorInfo.
BackColorInfoOverChanged | Ενεργοποιείται όταν θέτουμε ένα αντικείμενο τύπου clsBackColorInfo στην ιδιότητα BackColorInfoOver.
BackColorInfoDownChanged | Ενεργοποιείται όταν θέτουμε ένα αντικείμενο τύπου clsBackColorInfo στην ιδιότητα BackColorInfoDown.
ErrorOnPaint | Ενεργοποιείται όταν προκύψει πρόβλημα στη σχεδίαση του control.
ErrorOnInit | Ενεργοποιείται όταν προκύψει πρόβλημα στην αρχικοποίηση του control.

Τα παρακάτω γεγονότα του στάνταρ Windows Forms Button έχουν απενεργοποιηθεί :

  • BackColorChanged
  • BackgroundImageChanged
  • BackgroundImageLayoutChanged


BackColorInfoChanged

MLightButton ver1.0 help
BackColorInfoChanged

Ενεργοποιείται όταν θέτουμε ένα αντικείμενο τύπου clsBackColorInfo στην ιδιότητα BackColorInfo.

Public Event BackColorInfoChanged (ByVal sender As Object)


BackColorInfoOverChanged

MLightButton ver1.0 help
BackColorInfoOverChanged

Ενεργοποιείται όταν θέτουμε ένα αντικείμενο τύπου clsBackColorInfo στην ιδιότητα BackColorInfoOver.

Public Event BackColorInfoOverChanged (ByVal sender As Object)


BackColorInfoDownChanged

MLightButton ver1.0 help
BackColorInfoDownChanged

Ενεργοποιείται όταν θέτουμε ένα αντικείμενο τύπου clsBackColorInfo στην ιδιότητα BackColorInfoDown.

Public Event BackColorInfoDownChanged (ByVal sender As Object)


ErrorOnPaint

MLightButton ver1.0 help
ErrorOnPaint

Ενεργοποιείται όταν προκύψει πρόβλημα στη σχεδίαση (Paint) του control.

Public Event ErrorOnPaint (ByVal sender As Object, ex As Exception)


ErrorOnInit

MLightButton ver1.0 help
ErrorOnInit

Ενεργοποιείται όταν προκύψει πρόβλημα στην αρχικοποίηση (instance) του control.

Public Event ErrorOnInit (ByVal sender As Object, ex As Exception)


Η κλάση clsBackColorInfo - Γενικά

MLightButton ver1.0 help
Η κλάση clsBackColorInfo - Γενικά

Η ιδιότητα BackColorInfo του control, που περιέχει τις πληροφορίες του background, δέχεται ένα αντικείμενο της κλάσης clsBackColorInfo.

Η κλάση αυτή είναι public και περιέχει ιδιότητες και μεθόδους που μπορεί ο προγραμματιστής να χρησιμοποιήσει για να θέσει απ' ευθείας τιμές για το background του control.

Π.χ για να θέσει ένα σταθερό κίτρινο χρώμα στο φόντο του MLightButton :

Imports Mouratx.Win

MLightButton1.BackColorInfo.ColorSolid = Color.Yellow
MLightButton1.BackColorInfo.BackColorType = clsBackColorInfo.BackColorTypeEnum.Solid
MLightButton1.Invalidate()

ή

Π.χ για να θέσει ένα μοτίβο με κόκκινες γραμμές σε κίτρινο φόντο στο MLightButton :

MLightButton1.BackColorInfo.HatchHatchStyle = System.Drawing.Drawing2D.HatchStyle.Cross
MLightButton1.BackColorInfo.HatchForeColor = Color.Red
MLightButton1.BackColorInfo.HatchBackColor = Color.Yellow
MLightButton1.BackColorInfo.BackColorType = clsBackColorInfo.BackColorTypeEnum.Hatch
MLightButton1.Invalidate()

Εναλλακτικά, θα μπορούμε να δημιουργήσουμε ένα αντικείμενο της κλάσης clsBackColorInfo, να του αποδώσουμε τις τιμές και να το εκχωρήσουμε στην ιδιότητα BackColorInfo του control :

Dim clr As New clsBackColorInfo

'Πέρνα τις υπάρχουσες πληροφορίες background στο νέο αντικείμενο
clr.CopyFrom(MLightButton1.BackColorInfo)

'Άλλαξε τις τιμές
clr.HatchHatchStyle = Drawing2D.HatchStyle.Cross
clr.HatchForeColor = Color.Red
clr.HatchBackColor = Color.Yellow
clr.BackColorType = clsBackColorInfo.BackColorTypeEnum.Hatch

'Θέσε το αντικείμενο στην ιδιότητα του control
MLightButton1.BackColorInfo = clr

MLightButton1.Invalidate()

Συνήθης πρακτική είναι να περνάμε, με τη μέθοδο CopyFrom, τις υπάρχουσες πληροφορίες φόντου του control σε ένα νέο αντικείμενο, να τις αλλάζουμε και να τις εκχωρούμε πίσω στο control.

ΣΗΜΕΙΩΣΗ : Αν ακολουθήσουμε τη δεύτερη εναλλακτική προσέγγιση, δηλαδή να εκχωρούμε ένα αντικείμενο clsBackColorInfo στην ιδιότητα BackColorInfo του control, τότε μόνο ενεργοποιείται το γεγονός BackColorInfoChanged.

Συνεπώς, αν σας ενδιαφέρει να χρησιμοποιείτε το γεγονός αυτό τότε πρέπει αναγκαστικά να ακολουθήσετε τη δεύτερη εναλλακτική προσέγγιση.

Namespace: Mouratx.Win


Απαριθμήσεις της κλάσης clsBackColorInfo

MLightButton ver1.0 help
Απαριθμήσεις της κλάσης clsBackColorInfo

BackColorTypeEnum | Καθορίζει τον τύπο του background.
GradientModeEnum | Καθορίζει το mode της διαβάθμισης δύο ή πολλών χρωμάτων.
GradientTwoEffectEnum | Καθορίζει το Blend Effect στη διαβάθμιση δύο χρωμάτων.
WrapStylesEnum | Καθορίζει τον τρόπο σχεδιασμού μίας εικόνας ως Texture.


BackColorTypeEnum

MLightButton ver1.0 help
BackColorTypeEnum

Απαρίθμηση της κλάσης clsBackColoInfo.

Καθορίζει τον τύπο του background.

Τιμές :

Solid | Σταθερό χρώμα.
GradientTwo | Διαβάθμιση δύο χρωμάτων.
GradientMulti | Διαβάθμιση πολλών χρωμάτων.
Hatch | Μοτίβο.
Texture | Εικόνα.


GradientModeEnum

MLightButton ver1.0 help
GradientModeEnum

Απαρίθμηση της κλάσης clsBackColoInfo.

Καθορίζει τον τύπο της διαβάθμισης δύο ή πολλών χρωμάτων. Αφορά GradientTwo και GradienMutli τύπο background.

Τιμές :

Horizontal | Διαβάθμιση από αριστερά προς τα δεξιά.
Vertical | Διαβάθμιση από πάνω προς τα κάτω.
ForwardDiagonal | Διαβάθμιση από πάνω αριστερά προς κάτω δεξιά.
BackwardDiagonal | Διαβάθμιση από πάνω δεξιά προς κάτω αριστερά.
Centered | Διαβάθμιση από μέσα προς τα έξω.


GradientTwoEffectEnum

MLightButton ver1.0 help
GradientTwoEffectEnum

Απαρίθμηση της κλάσης clsBackColoInfo.

Καθορίζει το Blend effect για τύπο διαβάθμισης δύο χρωμάτων. Αφορά GradientTwo τύπο background.

Τιμές :

None | Κανένα εφέ.
Triangular | Εφέ Triangular.
SigmaBell | Εφέ SigmaBell.

Σημείωση : Το εφέ δεν ισχύει για centered GradientMode.


WrapStylesEnum

MLightButton ver1.0 help
WrapStylesEnum

Απαρίθμηση της κλάσης clsBackColoInfo.

Καθορίζει τον τρόπο σχεδιασμού μίας bitmap εικόνας ως Texture στο background.

Τιμές :

Normal | Η εικόνα σχεδιάζεται κανονικά από την πάνω αριστερή γωνία.
Stretch | Η εικόνα σχεδιάζεται ώστε να καταλαμβάνει όλο το background αδιαφορώντας για τις αναλογίες.
Center | Η εικόνα σχεδιάζεται ώστε το κέντρο της να είναι στο κέντρο του background.
Zoom | Η εικόνα σχεδιάζεται λαμβάνοντας υπόψη τις αναλογίες.
Tile | Η εικόνα αναδιπλώνεται στο χώρο του background.
TileFlipX | Η εικόνα γυρίζει ανάποδα οριζοντίως και κατόπιν αναδιπλώνεται στο χώρο του background.
TileFlipY | Η εικόνα γυρίζει ανάποδα κατακόρυφα και κατόπιν αναδιπλώνεται στο χώρο του background.
TileFlipXY | Η εικόνα γυρίζει ανάποδα οριζοντίως και κατακόρυφα και κατόπιν αναδιπλώνεται στο χώρο του background.


Δομές της κλάσης clsBackColorInfo

MLightButton ver1.0 help
Δομές της κλάσης clsBackColorInfo

GradientMultiInfoStruct

Περιέχει πληροφορίες για καθένα στοιχείο της λίστας του GradientMulti τύπου background.


GradientMultiInfoStruct

MLightButton ver1.0 help
GradientMultiInfoStruct

Δομή της κλάσης clsBackColoInfo.

Περιέχει πληροφορίες για καθένα στοιχείο της λίστας του GradientMulti τύπου background.

Public Structure GradientMultiInfoStruct

Dim Position As Single?

Dim Color As Color?

End Structure

Position : Δεν χρησιμοποιείται στην παρούσα έκδοση. Βάλτε μηδέν.
Color : Το χρώμα.

Οι μεταβλητές στη δομή έχουν οριστεί Nullable.

Παράδειγμα : Δημιουργούμε ένα τρίχρωμο multi Gradient με vertical προσανατολισμό :

Imports Mouratx.Win

'Δημιούργησε τη λίστα τύπου GradientMultiInfoStruct
Dim LstColors As New List(Of clsBackColorInfo.GradientMultiInfoStruct)

'Δημιούργησε μία μεταβλητή item τύπου GradientMultiInfoStruct και βάλε τις πληροφορίες για 3 χρώματα : μαύρο, κίτρινο, κόκκινο Πρόσθεσε κάθε item στη λίστα..
Dim item As clsBackColorInfo.GradientMultiInfoStruct

item.Color = Color.Black :
item.Position = 0 : LstColors.Add(item)
item.Color = Color.Yellow :
item.Position = 0 : LstColors.Add(item)
item.Color = Color.Red :
item.Position = 0 : LstColors.Add(item)

'Εκχώρησε τη λίστα στην αντίστοιχη ιδιότητα του control, όρισε Gradient mode και καθόρισε τον τύπο του backhround
MLightButton1.BackColorInfo.ColorGradientMulti = LstColors

MLightButton1.BackColorInfo.GradientMultiMode = clsBackColorInfo.GradientModeEnum.Vertical

MLightButton1.BackColorInfo.BackColorType = clsBackColorInfo.BackColorTypeEnum.GradientMulti

MLightButton.Invalidate()


Ιδιότητες της κλάσης clsBackColorInfo

MLightButton ver1.0 help
Ιδιότητες της κλάσης clsBackColorInfo

BackColorType | Θέτει ή λαμβάνει τον τύπο του background (π.χ. Solid, Gradient Two κλπ).
ColorSolid | Θέτει ή λαμβάνει το σταθερό χρώμα.
ColorGradient1 | Θέτει ή λαμβάνει το πρώτο Gradient χρώμα (για Gradient Two background type).
ColorGradient2 | Θέτει ή λαμβάνει το δεύτερο Gradient χρώμα (για Gradient Two background type).
GradientTwoEffectBlendEffect | Θέτει ή λαμβάνει το Blend Effect (για Gradient Two background type).
GradientTwoEffectFocus | Θέτει ή λαμβάνει το focus του Blend Effect, δηλαδή σε ποιό σημείο γίνεται η μετάβαση από το πρώτο χρώμα στο δεύτερο ενός Gradient Two background type.
GradientTwoEffectScale | Θέτει ή λαμβάνει το scale του Blend Effect, δηλαδή πόσο έντονη γίνεται η μετάβαση από το πρώτο χρώμα στο δεύτερο ενός Gradient Two background type.
GradientTwoMode | Θέτει ή λαμβάνει το mode ενός Gradient Two background type. Π.χ. Horizontal, Vertical, ForwardDiagonal, Centered κλπ.
GradientMultiMode | Θέτει ή λαμβάνει το mode ενός Gradient Multi background type. Π.χ. Horizontal, Vertical, ForwardDiagonal, Centered κλπ
ColorGradientMulti | Θέτει ή λαμβάνει μία λίστα (List) των χρωμάτων ενός Gradient Multi background type.
HatchHatchStyle | Θέτει ή λαμβάνει το στυλ ενός μοτίβου.
HatchForeColor | Θέτει ή λαμβάνει το χρώμα των γραμμών ενός μοτίβου.
HatchBackColor | Θέτει ή λαμβάνει το χρώμα των κενών μεταξύ των γραμμών ενός μοτίβου.
TextureImage | Θέτει ή λαμβάνει μία εικόνα (Bitmap) ως Texture.
TextureWrapStyle | Θέτει ή λαμβάνει τον τρόπο σχεδιασμού της εικόνας σε ένα Texture. Π.χ. zoom, stretch, tile κλπ.
TextureScaleX | Θέτει ή λαμβάνει την ανάπτυξη κατά πλάτος μίας εικόνας σε tile wrap style.
TextureScaleY | Θέτει ή λαμβάνει την ανάπτυξη κατά ύψος μίας εικόνας σε tile wrap style.
AlphaValue | Θέτει ή λαμβάνει τη διαφάνεια. Δεν αφορά μοτίβο και tile wrap style.
SuspendDrawing | Θέτει ή λαμβάνει τη δυνατότητα να ενεργοποιείται ή όχι ή σχεδίαση του control. Χρήσιμο για αποφυγή του παράπλευρου εφέ flickering κατά το resizing του container του control.


BackColorType

MLightButton ver1.0 help
BackColorType

Ιδότητα της κλάσης clsBackColoInfo.

Θέτει ή λαμβάνει τον τύπο του background (π.χ. Solid, Gradient Two κλπ).

Τύπος : BackColorTypeEnum

Default τιμή : GradientTwo

Παράδειγμα : Στο MLightButton1 ορίζουμε το background type σε διαβάθμισης δύο χρωμάτων :

Imports Mouratx.Win

MLightButton1.BackColorInfo.BackColorType = clsBackColorInfo.BackColorTypeEnum.GradientTwo


ColorSolid

MLightButton ver1.0 help
ColorSolid

Ιδότητα της κλάσης clsBackColoInfo.

Θέτει ή λαμβάνει το σταθερό χρώμα background.

Τύπος : Color

Default τιμή : Color.FromKnownColor(KnownColor.Control)

Παράδειγμα : Στο MLightButton1 ορίζουμε το background χρώμα σε κίτρινο :

Imports Mouratx.Win

With MLightButton1.BackColorInfo

.ColorSolid = Color.Yellow
.BackColorType = clsBackColorInfo.BackColorTypeEnum.Solid

End With

MLightButton1.Invalidate()


ColorGradient1

MLightButton ver1.0 help
ColorGradient1

Ιδότητα της κλάσης clsBackColoInfo.

Θέτει ή λαμβάνει το πρώτο χρώμα σε ένα GradientTwo τύπο background.

Τύπος : Color

Default τιμή : Color.FromKnownColor(KnownColor.Control)

Παράδειγμα 1 : Στο MLightButton1 ορίζουμε το πρώτο χρώμα σε πορτοκαλί, το δεύτερο σε κίτρινο, τον προσανατολισμό σε Vertical, σε ένα GradientTwo τύπο background :

Imports Mouratx.Win

With MLightButton1.BackColorInfo

.ColorGradient1 = Color.Orange
.ColorGradient2 = Color.Yellow
.GradientTwoMode = clsBackColorInfo.GradientModeEnum.Vertical
 .BackColorType = clsBackColorInfo.BackColorTypeEnum.GradientTwo

End With

MLightButton1.Invalidate()

Παράδειγμα 2 : Στο MLightButton1 ορίζουμε το πρώτο χρώμα σε μαύρο, το δεύτερο σε κίτρινο, τον προσανατολισμό σε Centered, σε ένα GradientTwo τύπο background :

Imports Mouratx.Win

With MLightButton1.BackColorInfo

.ColorGradient1 = Color.Black
.ColorGradient2 = Color.Yellow
.GradientTwoMode = clsBackColorInfo.GradientModeEnum.Centered
 .BackColorType = clsBackColorInfo.BackColorTypeEnum.GradientTwo

End With

MLightButton1.Invalidate()


ColorGradient2

MLightButton ver1.0 help
ColorGradient2

Ιδότητα της κλάσης clsBackColoInfo.

Θέτει ή λαμβάνει το δεύτερο χρώμα σε ένα GradientTwo τύπο background.

Τύπος : Color

Default τιμή : Color.White

Παράδειγμα 1 : Στο MLightButton1 ορίζουμε το πρώτο χρώμα σε πορτοκαλί, το δεύτερο σε κίτρινο, τον προσανατολισμό σε Vertical, σε ένα GradientTwo τύπο background :

Imports Mouratx.Win

With MLightButton1.BackColorInfo

.ColorGradient1 = Color.Orange
.ColorGradient2 = Color.Yellow
.GradientTwoMode = clsBackColorInfo.GradientModeEnum.Vertical
 .BackColorType = clsBackColorInfo.BackColorTypeEnum.GradientTwo

End With

MLightButton1.Invalidate()

Παράδειγμα 2 : Στο MLightButton1 ορίζουμε το πρώτο χρώμα σε μαύρο, το δεύτερο σε κίτρινο, τον προσανατολισμό σε Centered, σε ένα GradientTwo τύπο background :

Imports Mouratx.Win

With MLightButton1.BackColorInfo

.ColorGradient1 = Color.Black
.ColorGradient2 = Color.Yellow
.GradientTwoMode = clsBackColorInfo.GradientModeEnum.Centered
 .BackColorType = clsBackColorInfo.BackColorTypeEnum.GradientTwo

End With

MLightButton1.Invalidate()


GradientTwoMode

MLightButton ver1.0 help
GradientTwoMode

Ιδότητα της κλάσης clsBackColoInfo.

Θέτει ή λαμβάνει τον τρόπο της διαβάθμισης σε ένα GradientTwo τύπο background.

Τύπος : GradientModeEnum

Default τιμή : GradientModeEnum.Vertical

Παράδειγμα : Στο MLightButton1 ορίζουμε το πρώτο χρώμα σε μαύρο, το δεύτερο σε κίτρινο, τον προσανατολισμό σε Centered, σε ένα GradientTwo τύπο background :

Imports Mouratx.Win

With MLightButton1.BackColorInfo

.ColorGradient1 = Color.Black
.ColorGradient2 = Color.Yellow
.GradientTwoMode = clsBackColorInfo.GradientModeEnum.Centered
 .BackColorType = clsBackColorInfo.BackColorTypeEnum.GradientTwo

End With

MLightButton1.Invalidate()


GradientTwoEffectBlendEffect

MLightButton ver1.0 help
GradientTwoEffectBlendEffect

Ιδότητα της κλάσης clsBackColoInfo.

Θέτει ή λαμβάνει το Blend εφέ σε ένα GradientTwo τύπο background.

Τύπος : GradientTwoEffectEnum

Default τιμή : GradientTwoEffectEnum.None

Σημείωση : Η ιδιότητα αυτή αγνοείται σε περίπτωση που η GradientTwoMode έχει οριστεί Centered.

Παράδειγμα : Στο MLightButton1 ορίζουμε το Blend εφέ σε SigmaBell σε ένα GradientTwo τύπο background, με focus στο 0.3, scale sto 0.6, προσανατολισμό ForwardDiagonal και χρώματα το μπλε και κίτρινο:

Imports Mouratx.Win

With MLightButton1.BackColorInfo

.ColorGradient1 = Color.Blue
.ColorGradient2 = Color.Yellow
.GradientTwoMode = clsBackColorInfo.GradientModeEnum.ForwardDiagonal
.BackColorType = clsBackColorInfo.BackColorTypeEnum.GradientTwo
.GradientTwoEffectBlendEffect = clsBackColorInfo.GradientTwoEffectEnum.SigmaBell
.GradientTwoEffectFocus = 0.3F
.GradientTwoEffectScale = 0.6F

End With

MLightButton1.Invalidate()


GradientTwoEffectFocus

MLightButton ver1.0 help
GradientTwoEffectFocus

Ιδότητα της κλάσης clsBackColoInfo.

Θέτει ή λαμβάνει το focus του Blend Effect, δηλαδή σε ποιό σημείο γίνεται η μετάβαση από το πρώτο χρώμα στο δεύτερο, σε ένα GradientTwo τύπο background.

Τύπος : Single

Εύρος τιμών : Από 0 έως 1

Default τιμή : 0.5

Σημείωση : Η ιδιότητα αυτή αγνοείται σε περίπτωση που η GradientTwoMode έχει οριστεί Centered.

Παράδειγμα : Στο MLightButton1 ορίζουμε το Blend εφέ σε SigmaBell σε ένα GradientTwo τύπο background, με focus στο 0.3, scale sto 0.6, προσανατολισμό ForwardDiagonal και χρώματα το μπλε και κίτρινο:

Imports Mouratx.Win

With MLightButton1.BackColorInfo

.ColorGradient1 = Color.Blue
.ColorGradient2 = Color.Yellow
.GradientTwoMode = clsBackColorInfo.GradientModeEnum.ForwardDiagonal
.BackColorType = clsBackColorInfo.BackColorTypeEnum.GradientTwo
.GradientTwoEffectBlendEffect = clsBackColorInfo.GradientTwoEffectEnum.SigmaBell
.GradientTwoEffectFocus = 0.3
.GradientTwoEffectScale = 0.6

End With

MLightButton1.Invalidate()


GradientTwoEffectScale

MLightButton ver1.0 help
GradientTwoEffectScale

Ιδότητα της κλάσης clsBackColoInfo.

Θέτει ή λαμβάνει το scale του Blend Effect, δηλαδή πόσο έντονη γίνεται η μετάβαση από το πρώτο χρώμα στο δεύτερο, σε ένα GradientTwo τύπο background.

Τύπος : Single

Εύρος τιμών : Από 0 έως 1

Default τιμή : 0.5

Σημείωση : Η ιδιότητα αυτή αγνοείται σε περίπτωση που η GradientTwoMode έχει οριστεί Centered.

Παράδειγμα : Στο MLightButton1 ορίζουμε το Blend εφέ σε SigmaBell σε ένα GradientTwo τύπο background, με focus στο 0.3, scale sto 0.6, προσανατολισμό ForwardDiagonal και χρώματα το μπλε και κίτρινο:

Imports Mouratx.Win

With MLightButton1.BackColorInfo

.ColorGradient1 = Color.Blue
.ColorGradient2 = Color.Yellow
.GradientTwoMode = clsBackColorInfo.GradientModeEnum.ForwardDiagonal
.BackColorType = clsBackColorInfo.BackColorTypeEnum.GradientTwo
.GradientTwoEffectBlendEffect = clsBackColorInfo.GradientTwoEffectEnum.SigmaBell
.GradientTwoEffectFocus = 0.3
.GradientTwoEffectScale = 0.6

End With

MLightButton1.Invalidate()


GradientMultiMode

MLightButton ver1.0 help
GradientMultiMode

Ιδότητα της κλάσης clsBackColoInfo.

Θέτει ή λαμβάνει τον τρόπο της διαβάθμισης σε ένα GradientMulti τύπο background.

Τύπος : GradientModeEnum

Default τιμή : GradientModeEnum.Vertical

Σημείωση : Η ιδιότητα αυτή τίθεται, στην παρούσα έκδοση, μόνο μέσω κώδικα κι όχι στον Property Editor (design mode).

Παράδειγμα : Στο MLightButton1 ορίζουμε multi-Gradient με τρία χρώματα μαύρο-κίτρινο-κόκκινο και τον προσανατολισμό σε Vertical :

Imports Mouratx.Win

'Δημιούργησε τη λίστα τύπου GradientMultiInfoStruct
Dim LstColors As New List(Of clsBackColorInfo.GradientMultiInfoStruct)

Dim item As clsBackColorInfo.GradientMultiInfoStruct

'Δημιούργησε μία μεταβλητή item τύπου GradientMultiInfoStruct και βάλε τις πληροφορίες για 3 χρώματα : μαύρο, κίτρινο, κόκκινο Πρόσθεσε κάθε item στη λίστα..
item.Color = Color.Black : item.Position = 0 : LstColors.Add(item)
item.Color = Color.Yellow : item.Position = 0 : LstColors.Add(item)
item.Color = Color.Red : item.Position = 0 : LstColors.Add(item)

'Εκχώρησε τη λίστα στην αντίστοιχη ιδιότητα του control, όρισε Gradient mode και καθόρισε τον τύπο του backhround
With MLightButton1.BackColorInfo

.ColorGradientMulti = LstColors
.GradientMultiMode = clsBackColorInfo.GradientModeEnum.Vertical
 .BackColorType = clsBackColorInfo.BackColorTypeEnum.GradientMulti

End With

MLightButton1.Invalidate()

  • Δείτε τί γίνεται αν θέσουμε στο ίδιο παράδειγμα :

.GradientMultiMode = clsBackColorInfo.GradientModeEnum.Centered


ColorGradientMulti

MLightButton ver1.0 help
ColorGradientMulti

Ιδότητα της κλάσης clsBackColoInfo.

Θέτει ή λαμβάνει μία λίστα (List Of) των χρωμάτων σε ένα GradientMulti τύπο background.

Τύπος : List (Of GradientMultiInfoStruct)

Default τιμή : New List(Of GradientMultiInfoStruct)

Σημείωση : Η ιδιότητα αυτή τίθεται, στην παρούσα έκδοση, μόνο μέσω κώδικα κι όχι στον Property Editor (design mode).

Παράδειγμα : Στο MLightButton1 ορίζουμε multi-Gradient με τρία χρώματα μαύρο-κίτρινο-κόκκινο και τον προσανατολισμό σε Vertical :

Imports Mouratx.Win

'Δημιούργησε τη λίστα τύπου GradientMultiInfoStruct
Dim LstColors As New List(Of clsBackColorInfo.GradientMultiInfoStruct)

Dim item As clsBackColorInfo.GradientMultiInfoStruct

'Δημιούργησε μία μεταβλητή item τύπου GradientMultiInfoStruct και βάλε τις πληροφορίες για 3 χρώματα : μαύρο, κίτρινο, κόκκινο Πρόσθεσε κάθε item στη λίστα..
item.Color = Color.Black : item.Position = 0 : LstColors.Add(item)
item.Color = Color.Yellow : item.Position = 0 : LstColors.Add(item)
item.Color = Color.Red : item.Position = 0 : LstColors.Add(item)

'Εκχώρησε τη λίστα στην αντίστοιχη ιδιότητα του control, όρισε Gradient mode και καθόρισε τον τύπο του backhround
With MLightButton1.BackColorInfo

.ColorGradientMulti = LstColors
.GradientMultiMode = clsBackColorInfo.GradientModeEnum.Vertical
 .BackColorType = clsBackColorInfo.BackColorTypeEnum.GradientMulti

End With

MLightButton1.Invalidate()


HatchHatchStyle

MLightButton ver1.0 help
HatchHatchStyle

Ιδότητα της κλάσης clsBackColoInfo.

Θέτει ή λαμβάνει το στυλ ενός διαγραμμισμένου μοτίβου.

Τύπος : System.Drawing.Drawing2D.HatchStyle

Default τιμή : System.Drawing.Drawing2D.HatchStyle.Cross

Παράδειγμα : Στο MLightButton1 ορίζουμε ένα Cross Ηatch style με διαγράμμιση κόκκινη και φόντο κίτρινο :

Imports Mouratx.Win

With MLightButton1.BackColorInfo

.HatchHatchStyle = System.Drawing.Drawing2D.HatchStyle.Cross
.HatchForeColor = Color.Red
.HatchBackColor = Color.Yellow
.BackColorType = clsBackColorInfo.BackColorTypeEnum.Hatch

End With

MLightButton1.Invalidate()


HatchForeColor

MLightButton ver1.0 help
HatchForeColor

Ιδότητα της κλάσης clsBackColoInfo.

Θέτει ή λαμβάνει χρώμα των γραμμών ενός διαγραμμισμένου μοτίβου.

Τύπος : Color

Default τιμή : Color.Black

Παράδειγμα : Στο MLightButton1 ορίζουμε ένα Cross Ηatch style με διαγράμμιση κόκκινη και φόντο κίτρινο :

Imports Mouratx.Win

With MLightButton1.BackColorInfo

.HatchHatchStyle = System.Drawing.Drawing2D.HatchStyle.Cross
.HatchForeColor = Color.Red
.HatchBackColor = Color.Yellow
.BackColorType = clsBackColorInfo.BackColorTypeEnum.Hatch

End With

MLightButton1.Invalidate()


HatchBackColor

MLightButton ver1.0 help
HatchBackColor

Ιδότητα της κλάσης clsBackColoInfo.

Θέτει ή λαμβάνει χρώμα των κενών μεταξύ των γραμμών ενός διαγραμμισμένου μοτίβου.

Τύπος : Color

Default τιμή : Color.WhiteSmoke

Παράδειγμα : Στο MLightButton1 ορίζουμε ένα Cross Ηatch style με διαγράμμιση κόκκινη και φόντο κίτρινο :

Imports Mouratx.Win

With MLightButton1.BackColorInfo

.HatchHatchStyle = System.Drawing.Drawing2D.HatchStyle.Cross
.HatchForeColor = Color.Red
.HatchBackColor = Color.Yellow
.BackColorType = clsBackColorInfo.BackColorTypeEnum.Hatch

End With

MLightButton1.Invalidate()


TextureImage

MLightButton ver1.0 help
TextureImage

Ιδότητα της κλάσης clsBackColoInfo.

Θέτει ή λαμβάνει μία εικόνα (Bitmap) ως Texture.

Τύπος : Image

Default τιμή : Nothing

Παράδειγμα : Στο MLightButton1 ορίζουμε ως Texture μία bitmap εικόνα, με τον τρόπο σχεδιασμού (ιδιότητα TextureWrapStyle) σε Zoom :

Imports Mouratx.Win

With MLightButton1.BackColorInfo

.TextureImage = Image.FromFile("Σαμοθράκη.jpg")
 .TextureWrapStyle = clsBackColorInfo.WrapStylesEnum.Zoom
 .BackColorType = clsBackColorInfo.BackColorTypeEnum.Texture

End With

MLightButton1.Invalidate()


TextureWrapStyle

MLightButton ver1.0 help
TextureWrapStyle

Ιδότητα της κλάσης clsBackColoInfo.

Θέτει ή λαμβάνει τον τρόπο σχεδιασμού της εικόνας σε ένα Texture. Π.χ. zoom, stretch, tile κλπ.

Τύπος : WrapStylesEnum

Default τιμή : WrapStylesEnum.Stretch

Παράδειγμα : Στο MLightButton1 ορίζουμε ως Texture μία bitmap εικόνα, με τον τρόπο σχεδιασμού (ιδιότητα TextureWrapStyle) σε Zoom :

Imports Mouratx.Win

With MLightButton1.BackColorInfo

.TextureImage = Image.FromFile("Σαμοθράκη.jpg")
 .TextureWrapStyle = clsBackColorInfo.WrapStylesEnum.Zoom
 .BackColorType = clsBackColorInfo.BackColorTypeEnum.Texture

End With

MLightButton1.Invalidate()


TextureScaleX

MLightButton ver1.0 help
TextureScaleX

Ιδότητα της κλάσης clsBackColoInfo.

Θέτει ή λαμβάνει την ανάπτυξη κατά πλάτος μίας εικόνας σε T ile wrap style, σε ένα Texture.

Τύπος : Single

Εύρος τιμών : Από 0 έως 1

Default τιμή : 0.2

Σημείωση : Η ιδιότητα λαμβάνεται υπόψη μόνο αν έχετε ορίσει στην TextureWrapStyle τιμή Tile, TileFlipX, TileFlipY, και TileFlipXΥ.

Παράδειγμα : Στο MLightButton1 ορίζουμε ως Texture μία bitmap εικόνα, με τον τρόπο σχεδιασμού (ιδιότητα TextureWrapStyle) σε Zoom :

Imports Mouratx.Win

With MLightButton1.BackColorInfo

.TextureImage = Image.FromFile("Author.jpg")
 .TextureWrapStyle = clsBackColorInfo.WrapStylesEnum.Zoom
.TextureScaleX = 0.3
.TextureScaleY = 0.25
 .BackColorType = clsBackColorInfo.BackColorTypeEnum.Texture

End With

MLightButton1.Invalidate()


TextureScaleΥ

MLightButton ver1.0 help
TextureScaleΥ

Ιδότητα της κλάσης clsBackColoInfo.

Θέτει ή λαμβάνει την ανάπτυξη κατά ύψος μίας εικόνας σε T ile wrap style, σε ένα Texture.

Τύπος : Single

Εύρος τιμών : Από 0 έως 1

Default τιμή : 0.2

Σημείωση : Η ιδιότητα λαμβάνεται υπόψη μόνο αν έχετε ορίσει στην TextureWrapStyle τιμή Tile, TileFlipX, TileFlipY, και TileFlipXΥ.

Παράδειγμα : Στο MLightButton1 ορίζουμε ως Texture μία bitmap εικόνα, με τον τρόπο σχεδιασμού (ιδιότητα TextureWrapStyle) σε Zoom :

Imports Mouratx.Win

With MLightButton1.BackColorInfo

.TextureImage = Image.FromFile("Author.jpg")
 .TextureWrapStyle = clsBackColorInfo.WrapStylesEnum.Zoom
.TextureScaleX = 0.3
.TextureScaleY = 0.25
 .BackColorType = clsBackColorInfo.BackColorTypeEnum.Texture

End With

MLightButton1.Invalidate()


AlphaValue

MLightButton ver1.0 help
AlphaValue

Ιδότητα της κλάσης clsBackColoInfo.

Θέτει ή λαμβάνει τη διαφάνεια του background. Δεν αφορά μοτίβο και Tile wrap style texture.

Τύπος : Integer

Εύρος τιμών : Από 0 έως 255

Default τιμή : 255 (αδιαφανές - opaque)

Με την ιδιότητα αυτή μπορείτε να εφαρμόσετε ένα ενδιαφέρον υδατογράφημα θέτοντας τιμές κοντά στην ημιδιαφάνεια (128).

Σημείωση : Η ιδιότητα αγνοείται αν έχετε ορίσει BackColorType σε Hatch ή Texture με Tile wrapstyle.

Παράδειγμα : Στο MLightButton1 ορίζουμε ως Texture μία bitmap εικόνα, με τον τρόπο σχεδιασμού (ιδιότητα TextureWrapStyle) σε Zoom και ημιδιαφάνεια :

Imports Mouratx.Win

With MLightButton1.BackColorInfo

.TextureImage = Image.FromFile("Σαμοθράκη.jpg")
 .TextureWrapStyle = clsBackColorInfo.WrapStylesEnum.Zoom
 .BackColorType = clsBackColorInfo.BackColorTypeEnum.Texture
.AlphaValue = 128

End With

MLightButton1.Invalidate()


SuspendDrawing

MLightButton ver1.0 help
SuspendDrawing

Ιδότητα της κλάσης clsBackColoInfo.

Θέτει ή λαμβάνει τη δυνατότητα να ενεργοποιείται ή όχι ή σχεδίαση του control. Χρήσιμο για αποφυγή του παράπλευρου εφέ flickering κατά το resizing του container του control.

Τύπος : Boolean

Default τιμή : False

Παράδειγμα : Χρησιμοποιούμε τα γεγονότα RεsizeBegin και ResizeEnd μίας φόρμας όπου έχουμε τοποθετήσει ένα MLightButton. :

Imports Mouratx.Win

'----------------------------------------------------------------------------------------------

Private Sub Form1_ResizeBegin (ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.ResizeBegin

MLightButton1.BackColorInfo.SuspendDrawing = True

End Sub

'----------------------------------------------------------------------------------------------

Private Sub Form1_ResizeEnd (ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.ResizeEnd

MLightButton1.BackColorInfo.SuspendDrawing = False

MLightButton1.Invalidate()

Εnd Sub


Οι μέθοδοι της κλάσης clsBackColorInfo

MLightButton ver1.0 help
Οι μέθοδοι της κλάσης clsBackColorInfo

Constructor New

Δημιουργεί ένα αντικείμενο clsBackColorInfo, με προκαθορισμένες τιμές στις ιδιότητες.

CopyFrom | Αντιγράφει τις τιμές από ένα άλλο αντικείμενο clsBackColorInfo στο τρέχον.
FillBackGround | Σχεδιάζει το background ενός control σύμφωνα με τις τιμές του αντικειμένου.


Constructor New

MLightButton ver1.0 help
Constructor New

Μέθοδος της κλάσης clsBackColoInfo.

Δημιουργεί ένα αντικείμενο clsBackColorInfo, με προκαθορισμένες τιμές στις ιδιότητες.

  • Public Sub New()

Παράδειγμα :

Dim clr As New clsBackColorInfo


CopyFrom

MLightButton ver1.0 help
CopyFrom

Μέθοδος της κλάσης clsBackColoInfo.

Αντιγράφει τις τιμές από ένα άλλο αντικείμενο clsBackColorInfo στο τρέχον.

Public Function CopyFrom (ByVal whatBackColorInfo As clsBackColorInfo) As Boolean

Παράμετροι :

  • whatBackColorInfo : Το αντικείμενο από το οποίο θα πάρει τις τιμές.

Επιστρεφόμενη τιμή :

  • True αν δεν προκύψει πρόβλημα κατά την αντιγραφή των τιμών, αλλιώς False.

Παράδειγμα : Θέτουμε ένα μοτίβο με κόκκινες γραμμές σε κίτρινο φόντο στο MLightButton.

Dim clr As New clsBackColorInfo

'Πέρνα τις υπάρχουσες πληροφορίες background στο νέο αντικείμενο
clr.CopyFrom(MLightButton1.BackColorInfo)

'Άλλαξε τις τιμές
clr.HatchHatchStyle = Drawing2D.HatchStyle.Cross
clr.HatchForeColor = Color.Red
clr.HatchBackColor = Color.Yellow
clr.BackColorType = clsBackColorInfo.BackColorTypeEnum.Hatch

'Θέσε το αντικείμενο στην ιδιότητα του control
MLightButton1.BackColorInfo = clr

MLightButton1.Invalidate()

Συνήθης πρακτική είναι να περνάμε, με τη μέθοδο CopyFrom, τις υπάρχουσες πληροφορίες φόντου του control σε ένα νέο αντικείμενο, να τις αλλάζουμε και να τις εκχωρούμε πίσω στο control.


FillBackGround

MLightButton ver1.0 help
FillBackGround

Μέθοδος της κλάσης clsBackColoInfo.

Σχεδιάζει το background ενός control σύμφωνα με τις τιμές του αντικειμένου.

Public Sub FillBackGround (ByRef e As System.Windows.Forms.PaintEventArgs, ByVal rect As Rectangle)

Παράμετροι :

  • e : Το αντικείμενο της επιφάνειας σχεδίασης του control.
  • rect : Μία δομή Rectangle που καθορίζει τα όρια σχεδίασης στην επιφάνεια.

Η μέθοδος αυτή χρησιμοποιείται, συνήθως, μέσα στη ρουτίνα Paint του control. Χρήσιμο για τη δημιουργία δυναμικών controls που περιέχουν ως ιδιότητα την BackColorInfo.

Παράδειγμα : Στο παράδειγμα που ακολουθεί βάζουμε τον περισσότερο κώδικα στη ρουτίνα Load μίας φόρμας. Συγκεκριμένα, δημιουργούμε δυναμικά ένα MLightButton control, θέτουμε κάποιες ιδιότητες, το προσθέτουμε στη συλλογή των controls της φόρμας και καλούμε τη μέθοδο Invalidate() που το σχεδιάζει.
Η μέθοδος FillBackGround καλείται στο εσωτερικό μίας delegate συνάρτησης του γεγονότος Paint του control :

Private Sub Form1_Load (ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles MyBase.Load

Dim MLightButtonDynamic As New MLightButton

'Όρισε ένα delegate function pointer για το γεγονός Paint του control
 AddHandler MLightButtonDynamic.Paint, AddressOf PaintMLightButton

'Σημείο τοποθέτησης στη φόρμα και μέγεθος.
 MLightButtonDynamic.Location = New Point(0, 0)
MLightButtonDynamic.Size = New Size(200, 150)

'Θέσε κάποιες ιδιότητες του control
With MLightButtonDynamic.BackColorInfo

 .BackColorType = clsBackColorInfo.BackColorTypeEnum.GradientTwo
.ColorGradient1 = Color.Black
 .ColorGradient2 = Color.Yellow
.GradientTwoMode = clsBackColorInfo.GradientModeEnum.Centered

End With

'Πρόσθεσέ το στη συλλογή των controls της φόρμας
 Me.Controls.Add(MLightButtonDynamic)

'Καλείται η ρουτίνα Paint του control που το σχεδιάζει
 MLightButtonDynamic.Invalidate()

End Sub

'---------------------------------------------------------------------

'Delegate function για το γεγονός Paint του MLightButtonDynamic
Private Sub PaintMLightButton (ByVal sender As Object, ByVal e As PaintEventArgs)

Dim MLButton As MLightButton = DirectCast (sender, MLightButton)

With MLButton

.BackColorInfo.FillBackGround (e, New Rectangle(0, 0, .Width, .Height))

End With

End Sub