PictureBox problemen!

Status
Niet open voor verdere reacties.

RubenK

Gebruiker
Lid geworden
23 sep 2008
Berichten
23
hey,

Ik probeer al heel lang een probleem op te lossen, maar het lukt me alsmaar niet.
Ik heb overal op internet gezocht en kan geen oplossing vinden. Ik ben nog niet zo heel ervaren met het gebruik van Visual Basic, maar heb wel enige kennis.

Ik probeer een plaatje te gebruiken als FormBorderStyle. Oftewel ik wil niet de standaard windows balk met de standaard drie knoppen (min, max, sluiten)
Ik wil graag een plaatje gebruiken met een transparante achtergrond.

Ik heb het geprobeerd met de PictureBox en dat lukte ook niet helemaal. Ik heb met Photoshop een PNG plaatje gemaakt met een transparante achtergrond. Ik impoteer deze dan in de PictureBox, en neem dan als BackColor: Transparent. Dat wil ik dan ook doen met de normale windowsForm. (Form1) maar dan zegt hij dat hij dat niet ondersteund. En stel dat het wel zou lukken, kon ik het scherm toch niet verplaatsen omdat de PictureBox dat niet ondersteund.

Ik weet dat het niet heel moeilijk kan zijn om zoiets te maken en ik zou heel erg blij zijn als iemand weet hoe je dat moet maken.

Alvast bedankt!:D
 
Laatst bewerkt:
Ga naar de properties van je form en zet de de TransparencyKey op een kleur die je niet gaat gebruiken, roze o.i.d. En je moet ook het transparante deel van je PNG precies dezelfde kleur geven als de TransparencyKey. Als je dat hebt gedaan gebruik je je PNG als de achtergrondafbeelding van de form (backgroundimage). Als het goed is, is het roze transparant en kan je andere programma's er doorheen zien.
 
Ga naar de properties van je form en zet de de TransparencyKey op een kleur die je niet gaat gebruiken, roze o.i.d. En je moet ook het transparante deel van je PNG precies dezelfde kleur geven als de TransparencyKey. Als je dat hebt gedaan gebruik je je PNG als de achtergrondafbeelding van de form (backgroundimage). Als het goed is, is het roze transparant en kan je andere programma's er doorheen zien.

Heel erg bedankt NinjaPlayer!
Het heeft gewerkt, ik heb nu inderdaad een transparante achtergrond.
(ik heb hier echt TE lang naar gezocht! heel erg bedankt.

Nou heb ik alleen nog 1 vraag, als ik daarna de FormBorderStyle op None zet heb ik dus alleen de afbeelding. (dat wil ik ook) Alleen hoe zorg ik er dan voor dat hij verplaatsbaar is. dus wanneer ik er met mijn muis op klik en hem versleep.

Alvast bedankt.
 
Zelf weet ik het niet, dus heb ik het opgezocht op google. Als je VB .net gebruikt, zou je zonder problemen dit in je code kunnen plakken:

Code:
     Private IsFormBeingDragged As Boolean = False  
     Private MouseDownX As Integer  
     Private MouseDownY As Integer  
   
     Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As MouseEventArgs) Handles MyBase.MouseDown  
   
         If e.Button = MouseButtons.Left Then  
             IsFormBeingDragged = True  
             MouseDownX = e.X  
             MouseDownY = e.Y  
         End If  
     End Sub  
   
     Private Sub Form1_MouseUp(ByVal sender As Object, ByVal e As MouseEventArgs) Handles MyBase.MouseUp  
   
         If e.Button = MouseButtons.Left Then  
             IsFormBeingDragged = False  
         End If  
     End Sub  
   
     Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As MouseEventArgs) Handles MyBase.MouseMove  
   
         If IsFormBeingDragged Then  
             Dim temp As Point = New Point()  
   
             temp.X = Me.Location.X + (e.X - MouseDownX)  
             temp.Y = Me.Location.Y + (e.Y - MouseDownY)  
             Me.Location = temp  
             temp = Nothing  
         End If  
     End Sub
 
Zelf weet ik het niet, dus heb ik het opgezocht op google. Als je VB .net gebruikt, zou je zonder problemen dit in je code kunnen plakken:

Code:
     Private IsFormBeingDragged As Boolean = False  
     Private MouseDownX As Integer  
     Private MouseDownY As Integer  
   
     Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As MouseEventArgs) Handles MyBase.MouseDown  
   
         If e.Button = MouseButtons.Left Then  
             IsFormBeingDragged = True  
             MouseDownX = e.X  
             MouseDownY = e.Y  
         End If  
     End Sub  
   
     Private Sub Form1_MouseUp(ByVal sender As Object, ByVal e As MouseEventArgs) Handles MyBase.MouseUp  
   
         If e.Button = MouseButtons.Left Then  
             IsFormBeingDragged = False  
         End If  
     End Sub  
   
     Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As MouseEventArgs) Handles MyBase.MouseMove  
   
         If IsFormBeingDragged Then  
             Dim temp As Point = New Point()  
   
             temp.X = Me.Location.X + (e.X - MouseDownX)  
             temp.Y = Me.Location.Y + (e.Y - MouseDownY)  
             Me.Location = temp  
             temp = Nothing  
         End If  
     End Sub

He!

Heel erg bedankt, het heeft gewerkt! ik kan nu mijn plaatje met transparante achtergrond verplaatsen. Ik kan je niet genoeg bedanken echt!

Groeten,

Ruben
 
Verschillende acties bij links of rechts klikken op picturebox

Dag iedereen,

via google ben ik op deze post terecht gekomen omdat ik in VB bij het klikken op een picturebox een actie wil starten die afhankelijk is van de muisknop waarop geklikt is.

Met onderstaande code (dankzij deze post) kan ik wel een onderscheid maken tussen linker- en rechtermuisknop, maar deze subroutine werkt altijd als ik op mijn muis klik.
Wat ik zou willen, dat is dat deze subroutine enkel werkt als ik op de picturebox klik.

Ik heb al een vaag vermoeden dat ik moet beginnen met Handles MyBase.MouseDown te schrappen, en bij picTest.Click de subroutine Test(...) moet starten. Maar welke 2 waarden moet ik dan meegeven?

Private Sub Test(ByVal sender As Object, ByVal e As MouseEventArgs) Handles MyBase.MouseDown
Select Case e.Button
Case Windows.Forms.MouseButtons.Left
MessageBox.Show("Links")
Case Windows.Forms.MouseButtons.Right
MessageBox.Show("Rechts")
End Select

Avast bedankt!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan