Notice: Undefined index: treeid in /home/blinkenlights/public_html/commands/TreeDetailsCommand.php on line 50
Blinkenlights.se - Transparenta kontroller i VB.NET - Programmering & spelutveckling

BETA


Notice: Undefined index: treeid in /home/blinkenlights/public_html/view/TreeDetailsView.php on line 60

Transparenta kontroller i VB.NET

Tillbaka till artikelarkivet

Filer

Verktyg

Kommentarer (2)
Utskriftsvänligt format

Betyg

markedunmaked 5.4

Guiden går igenom hur man på ett rätt så lätt sätt fixar transparent bakgrund på kontroller i VB.NET. Skrev guiden för att det var svårt och tog mycket tid för att komma på hur man ska göra.

Navigation:

Text - Hela Guiden

Detta fungerar antagligen med flera sorters kontroller, men jag kommer att använda pictureboxes. Lägg också märke till att jag inte nämner vissa självklara saker såsom skapandet av nya projekt osv.

Först måste vi göra så att vi kan ge en picturebox egenskapen att kunna ha transparent bakgrundsfärg detta görs enklast med en ny klass som ärver PictureBox men har en modifierad .SetStyle som kan änvändas även utifrån:

  1.  
  2. Public Class MyPictureBox
  3. Inherits PictureBox
  4. Public Shadows Sub SetStyle(ByVal flag As ControlStyles, ByVal value As Boolean)
  5. MyBase.SetStyle(flag, value)
  6. MyBase.UpdateStyles()
  7. End Sub
  8. End Class


Sedan, under runtime kommer vi få skapa en ny modifierad picturebox:
  1.  
  2. Dim onePictureBox as MyPictureBox = new MyPictureBox


Efter vilket vi först gör att den kan ha transparent bakgrund och sedan göra bakgrunden transparent:
  1.  
  2. onePictureBox.SetStyle(ControlStyles.SupportsTransparentBackColor, True)
  3. onePictureBox.BackColor = Color.Transparent


Nu är det bra att ställa in andra egenskaper för vår picturebox som till exempel Image, Top, Left, Width, Heigth osv.

Vi måste nu välja vilken vi vill ska vara kontrollens parent ska vara då det bara är dess parents bakgrund som kommer "lysa igenom". Antingen kanske det är din form (med en bakgrundsbild) eller en annan picturebox.

  1.  
  2. Controls.Add(onePictureBox) \' Om formen ska "lysa igenom"
  3. anotherPictureBox.Controls.Add(onePictureBox) \' Om en annan picturebox ska "lysa igenom". Utgår från att anotherPictureBox redan finns.


till sist måste vi också göra vår picturebox synlig:
  1.  
  2. onePictureBox.Show()



Hoppas guiden var givande Smiley

Slut

Navigation:

Till toppen