• 0

[VB .Net] Label Transparency over Pic


Question

I am working on my on going project and have come across a problem. I wan tto have a picture box filling the back ground with 2 labels over it. However, when I set the label background color to Web/Transparent, the background still comes out grey when I run the program and this is a problem. How do I make it so that the label is truely transparent and you see the contents of the picture box behind it?

Link to comment
https://www.neowin.net/forum/topic/66887-vb-net-label-transparency-over-pic/
Share on other sites

Recommended Posts

  • 0

Hmmm... i had the exact same problem with .NET... This is why i still use VB6 for most of my work, rather than using VB .NET which causes me a lot of headaches with the new structure... Some changes in .NET are really stupid, and create big incompatabilities... I believe the problem with the label (IF it is a problem) makes my life difficult so when i HAVE to do it, i use VB6... I would also be interested in a solution about this issue... Anyone knows?

/Raptor

  • 0

Ok now here is now it works!

Conclusion: Use Form1.BackgroundImage or Panel1.BackgroundImage instead of PictureBox1.Image or PictureBox1.BackgroundImage

And when you set Label1.Backcolor to Transparece, the background of Label1 actually goes to the background or back colour of the form. I suggest you to set the image into Form1.BackgroundImage and it will work! (Or you can try use Panel, too)

post-47-1048021474.jpg

  • 0

When a label's background colour is set to Transparent, it inherits the background colour of its parent control. IIRC, a PictureBox cannot be the parent of another control, so you'll never be able to get the PictureBox's image to show through. You need to do as no name said and put the background image on a panel or other control that can be a parent.

--

Danny Smurf

  • 0
  no name? said:
Well, try this...

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
 ? ? ? ?Label1.BackColor = System.Drawing.Color.Transparent
End Sub

And here's the screen shot...

it doesn't:(ork :( i duno I guess I'll have to forget being able to resize the form.

  • 0
  bangbang023 said:
  no name? said:
Well, try this...

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
 ? ? ? ?Label1.BackColor = System.Drawing.Color.Transparent
End Sub

And here's the screen shot...

it doesn't:(ork :( i duno I guess I'll have to forget being able to resize the form.

what do you mean resize?? tell me what exactly you wanna do and i will figure it out for you. i thought you just wanna put some labels on to picture box. btw, that code does work in my .ne:stho :s

  • 0

Why not just override the panel's onpaint and write your own code to size the bitmap? Better yet, since panel doesn't allow double-buffering, create a user control that inherits from panel and use SetStyle to setup double-buffering.

public class UserPanel : System.Windows.Forms.Panel
	{
  /// <summary> 
  /// Required designer variable.
  /// </summary>
  private System.ComponentModel.Container components = null;

  public UserPanel()
  {
 	 // This call is required by the Windows.Forms Form Designer.
 	 InitializeComponent();

 	 // TODO: Add any initialization after the InitializeComponent call
 	 SetStyle(ControlStyles.AllPaintingInWmPaint | 
        ControlStyles.UserPaint |
        ControlStyles.DoubleBuffer, true );
  }

As far as the label not drawing transparent, what is its FlatStyle property set to? I think that some of the settings will not draw transparent( e.g. System ). Set it to Standard and it should draw transparent. If that doesn't work, again, you could override OnPaint and used the DrawString method to write text over the image. It isn't that much work to do so.

The pics have a panel that resizes the image, and a string drawn over it with DrawString. Ugly, I know, but you could probably do something nice with it.

UserControl.jpg

UserControl2.jpg

Edited by weenur
  • 0

So what if it's c# and not vb.net? you can do the same thing. The framework is the same. You can override painting in VB, you can create controls in VB.

I'll try and write this in VB.net just to show you how to do it. Granted, I don't write alot in VB so this may take a while.

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Meta says that its "Private Processing technology" will be used. Oh, thank God! Now, I will finally sleep a whole lot better at night trusting FB. 🙄🙄🙄
    • The Teams Admin center is still a mess. I use it all the time. They really need to talk with the Intune or Entra ID folks for help.
    • Senua's Saga: Hellblade II to get 60FPS mode, dev commentary, and more alongside PS5 launch by Pulasthi Ariyasinghe Back in May, Microsoft revealed Senua's Saga: Hellblade II as the next first-party Xbox game to reach PlayStation platforms. Now, that release has an official release date attached to it, and alongside it, developer Ninja Theory is releasing an update across all platforms with some major features, including a 60 FPS mode on consoles. The Performance Mode is easily the biggest addition to the story-focused immersive experience. Ninja Theory is delivering it to both Xbox Series X and PlayStation 5 players, but there is some bad news for Series S owners, as it is being left out from the upgrade. "The result is smoother gameplay, especially noticeable during combat and fast-moving moments of the game," says the developer. It's unclear how much of the game's visuals Performance Mode users will be missing out on compared to the default 30FPS "cinematic" mode. PC players are getting an upgrade too. A Very High preset is being added to the settings menu for those wanting even higher fidelity graphics. Optimizations have also been a focus on PC, and Ninja Theory says that the title will be Steam Deck Verified when the Enhanced update lands in August. Next, similar to the original, Dark Rot is incoming as an optional experience that players can enable when starting a campaign. This will have a rot effect being applied to Senua every time she dies, and if it ever reaches her head, the game will come to an end, with all progress from that save being wiped. The Photo Mode in Hellblade II is being upgraded with this update too, with the studio touting a new Motion tab for cinematic video capture, as well as improvements across the board to the feature. Lastly, four hours of developer commentary is being added to give a behind-the-scenes look at how the studio crafted the story and gameplay. "Hear from the ensemble cast, key collaborators in depicting Senua’s experience of psychosis, and members of the development team who poured their heart and soul into Senua’s story," says the studio. The Senua’s Saga: Hellblade II Enhanced comes out on August 12 across PC, Xbox Series X|S, and PlayStation 5 for all owners and Game Pass subscribers as a free upgrade. As for the PlayStation 5 launch of Senua’s Saga: Hellblade II that's happening on the same day, Microsoft will be offering two versions: Standard and Deluxe. As expected, Standard includes the complete base game for $49.99, but Deluxe goes further by adding on a copy of the first game, Hellblade: Senua’s Sacrifice, as well as its original soundtrack. The Deluxe Edition costs $69.99 to purchase.
    • Not sure what you’re talking about. Has been there for quite a while and in the latest versions it’s actually quite good. I use it several times a day as I am a terrible typist.
  • Recent Achievements

    • Rising Star
      Phillip0web went up a rank
      Rising Star
    • One Month Later
      Epaminombas earned a badge
      One Month Later
    • One Year In
      Bert Fershner earned a badge
      One Year In
    • Reacting Well
      ChrisOdinUK earned a badge
      Reacting Well
    • One Year In
      Steviant earned a badge
      One Year In
  • Popular Contributors

    1. 1
      +primortal
      549
    2. 2
      ATLien_0
      207
    3. 3
      +FloatingFatMan
      172
    4. 4
      Michael Scrip
      152
    5. 5
      Som
      139
  • Tell a friend

    Love Neowin? Tell a friend!