Δώστε gradient background σε μία φόρμα

Με το παρακάτω κομμάτι κώδικα θα μπορέσετε να δώσετε ένα όμορφο χρώμα διαβάθμισης κίτρινο-πορτοκαλί στο φόντο μίας φόρμας.

http://users.sch.gr/mouratx/VB-NET_Tips/Graphics/Images/GradientBackground.jpg

Ο κώδικας χρησιμοποιείται στη ρουτίνα γεγονότος OnPaintBackGround :

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

Protected Overrides Sub OnPaintBackground(ByVal pevent As _

 System.Windows.Forms.PaintEventArgs)

MyBase.OnPaintBackground(pevent)

'Δημιούργησε μία μεταβλητή τύπου Rectangle που θα κρατά το μέγεθος του χώρου της φόρμας.
Dim rect As New Rectangle(0, 0, Me.Width, Me.Height)

'Δημιούργησε ένα Gradient πινέλο για βάψιμο, χρώματος Κίτρινο-πορτοκαλί.
'Ο τύπος διαβάθμισης θα είναι ForwardDiagonal.
Dim brush1 As New LinearGradientBrush(rect, Color.Yellow, Color.Orange,_

 LinearGradientMode.ForwardDiagonal)

'Σχεδίασε τον ορθογώνιο χώρο της φόρμας με το χρώμα του πινέλου.
pevent.Graphics.FillRectangle(brush1, rect)

'Απελευθέρωσε μνήμη.
brush1.Dispose()

End Sub


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


 

'Οταν αλλάζουν οι διαστάσεις της φόρμας να κάνει επανασχεδίαση.

Protected Overrides Sub OnResize(ByVal e As System.EventArgs)

MyBase.OnResize(e)

Me.Refresh()

End Sub


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

Μην ξεχάσετε να εισάγετε στην κορυφή του παραθύρου του κώδικα την δήλωση του namespace:

Imports System.Drawing.Drawing2D

διότι η κλάση LinearGradientBrush ανήκει σε αυτό το χώρο ονοματοδοσίας.

 

·         Χρήστος Μουρατίδης