Move Dynamic Borderless Form via PictureBox

If you need help with a project or need to know how to do something specific in VB.NET then please ask your questions in here.
Forum rules
Please LOCK your topics once you have found the solution to your question so we know you no longer require help with your query.
13 posts Page 1 of 2
Contributors
User avatar
mikethedj4
VIP - Site Partner
VIP - Site Partner
Posts: 2592
Joined: Thu Mar 25, 2010 4:36 am

From the dynamic form I added. I realized that I can't get a gif animation to run in the form's background. So I thought I'd give it a try by embeding a picturebox on the dynamic form, but it's not working hence why I'm here.

So on my main form (Form1) I have 2 buttons, openfiledialog, and a picturebox. When you click button1 you browse for the an image to display in the picturebox, and when you press button2 as you can see from the code below. It'll open a new form, but what I want is to have the picturebox displayed over the whole form, but also play the gif animation I selected from my main form via Form1 onto the dynamically embeded one, but in the picturebox. Now I can't use it as BackgroundImage so I'm using it as just an Image, but my problem now is I'm unable to move each borderless form, and am unable to close each as well.

Anyway here's my code.
Code: Select all
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    WidgetForm = New Form()
    WidgetForm.ShowInTaskbar = False
    WidgetForm.TopMost = True
    WidgetForm.FormBorderStyle = Windows.Forms.FormBorderStyle.None
    WidgetForm.ContextMenuStrip = ContextMenuStrip2
    WidgetForm.Show()

    Dim WidgetBG As PictureBox = New PictureBox()
    sizew = Me.TextBox1.Text
    sizey = Me.TextBox2.Text
    WidgetBG.Size = New System.Drawing.Size(sizew, sizey)
    WidgetBG.Image = Image.FromFile(Me.OpenFileDialog1.FileName)
    WidgetBG.Location = New System.Drawing.Point(0, 0)
    WidgetBG.Visible = True
    WidgetForm.Controls.Add(WidgetBG)

    opac = Me.TextBox3.Text
    WidgetForm.Opacity = opac
    WidgetForm.Size = New System.Drawing.Size(sizew, sizey)

    'Add the event here
    AddHandler WidgetBG.MouseDown, AddressOf WidgetBG_MouseDown
    AddHandler WidgetBG.MouseMove, AddressOf WidgetBG_MouseMove
    AddHandler WidgetBG.MouseUp, AddressOf WidgetBG_MouseUp
    AddHandler WidgetBG.DoubleClick, AddressOf WidgetBG_DoubleClick
End Sub

Private Sub WidgetBG_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
    If e.Button = Windows.Forms.MouseButtons.Left Then
        drag = True
        mousex = Windows.Forms.Cursor.Position.X - CType(sender, Form).Left
        mousey = Windows.Forms.Cursor.Position.Y - CType(sender, Form).Top
    End If

    Timer1.Enabled = True
    Timer1.Interval = 2500
End Sub

Private Sub WidgetBG_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
    If drag Then
        CType(sender, Form).Top = Windows.Forms.Cursor.Position.Y - mousey
        CType(sender, Form).Left = Windows.Forms.Cursor.Position.X - mousex
    End If
End Sub

Private Sub WidgetBG_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
    Timer1.Enabled = False
    drag = False
End Sub

Private Sub WidgetBG_DoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
    CType(sender, Form).Close()
End Sub
Any help would be greatly appreciated.
User avatar
CodenStuff
Site Admin
Site Admin
Posts: 4392
Joined: Tue Aug 04, 2009 1:47 am

Try this:
Code: Select all
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        widgetform = New Form()
        widgetform.ShowInTaskbar = False
        widgetform.TopMost = True
        widgetform.FormBorderStyle = Windows.Forms.FormBorderStyle.None
        widgetform.ContextMenuStrip = ContextMenuStrip2
        widgetform.Show()

        Dim WidgetBG As PictureBox = New PictureBox()
        sizew = Me.TextBox1.Text
        sizey = Me.TextBox2.Text
        WidgetBG.Size = New System.Drawing.Size(sizew, sizey)
        WidgetBG.Image = Image.FromFile(Me.OpenFileDialog1.FileName)
        WidgetBG.Location = New System.Drawing.Point(0, 0)
        WidgetBG.Visible = True
        widgetform.Controls.Add(WidgetBG)

        opac = Me.TextBox3.Text
        widgetform.Opacity = opac
        widgetform.Size = New System.Drawing.Size(sizew, sizey)

        'Add the event here
        AddHandler WidgetBG.MouseDown, AddressOf WidgetBG_MouseDown
        AddHandler WidgetBG.MouseMove, AddressOf WidgetBG_MouseMove
        AddHandler WidgetBG.MouseUp, AddressOf WidgetBG_MouseUp
        AddHandler WidgetBG.DoubleClick, AddressOf WidgetBG_DoubleClick
    End Sub

    Private Sub WidgetBG_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
        If e.Button = Windows.Forms.MouseButtons.Left Then
            drag = True
            mousex = e.X
            mousey = e.Y
        End If

        Timer1.Enabled = True
        Timer1.Interval = 2500
    End Sub

    Private Sub WidgetBG_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
        If drag Then
            CType(sender, PictureBox).Parent.Location = New Point(CType(sender, PictureBox).Parent.Location.X + (e.X - mousex), CType(sender, PictureBox).Parent.Location.Y + (e.Y - mousey))
        End If
    End Sub

    Private Sub WidgetBG_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
        Timer1.Enabled = False
        drag = False
    End Sub

    Private Sub WidgetBG_DoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
        CType(sender, PictureBox).Parent.Dispose()
    End Sub
Welcome to CodenStuff.com Learn Code, Love Code. Thank you for being a member of the community.
User avatar
mikethedj4
VIP - Site Partner
VIP - Site Partner
Posts: 2592
Joined: Thu Mar 25, 2010 4:36 am

I got the following error when projecting GIF animations.
error.png
You do not have the required permissions to view the files attached to this post.
User avatar
CodenStuff
Site Admin
Site Admin
Posts: 4392
Joined: Tue Aug 04, 2009 1:47 am

A picturebox doesnt seem to handle gif images very well and im not sure where or why you get that error :?

Maybe take a look at the ImageAnimator class: http://msdn.microsoft.com/en-us/library ... .aspx#Y200
Welcome to CodenStuff.com Learn Code, Love Code. Thank you for being a member of the community.
User avatar
mikethedj4
VIP - Site Partner
VIP - Site Partner
Posts: 2592
Joined: Thu Mar 25, 2010 4:36 am

I just tried this, and got the same error.

I don't see how ImageAnimator would work for what I'm trying to achieve.
User avatar
MrAksel
C# Coder
C# Coder
Posts: 1758
Joined: Fri Mar 26, 2010 12:27 pm

Did it work before you tried the form movement? If it did, you can add this new class below to your project, and replace your PictureBox with a TransparentPictureBox (you need to build your project after you have added the class).
Code: Select all
Public Class TransparentPictureBox
    Inherits PictureBox

    Protected Overrides Sub WndProc(ByRef m As Message)
        If m.Msg = &H84 Then
            m.Result = New IntPtr(-1)
        Else
            MyBase.WndProc(m)
        End If
    End Sub
End Class
Then, on the form you want to move, add this code:
Code: Select all
    Protected Overrides Sub WndProc(ByRef m As Message)
        If m.Msg = &H84 Then
            m.Result = New IntPtr(2)
        Else
            MyBase.WndProc(m)
        End If
    End Sub
LMAOSHMSFOAIDMT
Laughing my a** of so hard my sombrero fell off and I dropped my taco lmao;


Over 30 projects with source code!
Please give reputation to helpful members!

Image
Image
User avatar
mikethedj4
VIP - Site Partner
VIP - Site Partner
Posts: 2592
Joined: Thu Mar 25, 2010 4:36 am

MrAksel wrote:
Did it work before you tried the form movement? If it did, you can add this new class below to your project, and replace your PictureBox with a TransparentPictureBox (you need to build your project after you have added the class).
Code: Select all
Public Class TransparentPictureBox
    Inherits PictureBox

    Protected Overrides Sub WndProc(ByRef m As Message)
        If m.Msg = &H84 Then
            m.Result = New IntPtr(-1)
        Else
            MyBase.WndProc(m)
        End If
    End Sub
End Class
Then, on the form you want to move, add this code:
Code: Select all
    Protected Overrides Sub WndProc(ByRef m As Message)
        If m.Msg = &H84 Then
            m.Result = New IntPtr(2)
        Else
            MyBase.WndProc(m)
        End If
    End Sub
I released WidgetArea v1 earlier, along with the source code, but v1 does not have GIF support. v1.1 will have support as soon as this error's fixed. You can download the source code, and/or the app from here, or DeviantART[/url].

Now how would I implement this into the application?
Code: Select all
Private Sub ChooseImage_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ChooseImage.Click
        PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage

        OpenFileDialog1.CheckFileExists = True
        OpenFileDialog1.ShowReadOnly = False
        OpenFileDialog1.Filter = "Supported Files | *.bmp;*.dib; *.jpg;*.jpeg;*.jpe;*.jfif; *.tif;*.tiff; *.png|Bitmap |*.bmp;*.dib|JPEG |*.jpg;*.jpeg;*.jpe;*.jfif|TIFF |*.tif;*.tiff |PNG |*.png |All Files |*.*"
        OpenFileDialog1.FilterIndex = 1
        If OpenFileDialog1.ShowDialog = DialogResult.OK Then
            PictureBox1.Image = Image.FromFile(OpenFileDialog1.FileName)

            WidgetW.Text = PictureBox1.Image.Width
            WidgetY.Text = PictureBox1.Image.Height
            AddWidget.Enabled = True
        End If
    End Sub

    Private Sub AddWidget_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AddWidget.Click
        WidgetForm = New Form()
        WidgetForm.ShowInTaskbar = False
        WidgetForm.TopMost = True
        WidgetForm.FormBorderStyle = Windows.Forms.FormBorderStyle.None
        WidgetForm.ContextMenuStrip = ContextMenuStrip2
        WidgetForm.Show()

        Dim WidgetBG As PictureBox = New PictureBox()
        sizew = Me.WidgetW.Text
        sizey = Me.WidgetY.Text
        WidgetBG.Size = New System.Drawing.Size(sizew, sizey)
        WidgetBG.Image = Image.FromFile(Me.OpenFileDialog1.FileName)
        WidgetBG.Location = New System.Drawing.Point(0, 0)
        WidgetBG.Visible = True
        WidgetForm.Controls.Add(WidgetBG)

        opac = Me.OpacInt.Text
        WidgetForm.Opacity = opac
        WidgetForm.Size = New System.Drawing.Size(sizew, sizey)

        'Add the event here
        AddHandler WidgetBG.MouseDown, AddressOf WidgetBG_MouseDown
        AddHandler WidgetBG.MouseMove, AddressOf WidgetBG_MouseMove
        AddHandler WidgetBG.MouseUp, AddressOf WidgetBG_MouseUp
        AddHandler WidgetBG.DoubleClick, AddressOf WidgetBG_DoubleClick
    End Sub

    Private Sub WidgetBG_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
        If e.Button = Windows.Forms.MouseButtons.Left Then
            drag = True

            'Use FindForm() here to get your parent form
            'You can also use CType(sender, PictureBox).Parent.Left which makes more sense
            mousex = Windows.Forms.Cursor.Position.X - CType(sender, PictureBox).FindForm().Left
            mousey = Windows.Forms.Cursor.Position.Y - CType(sender, PictureBox).FindForm().Top
        End If

        Timer1.Enabled = True
        Timer1.Interval = 2500
    End Sub

    Private Sub WidgetBG_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
        If drag Then
            CType(sender, PictureBox).FindForm().Top = Windows.Forms.Cursor.Position.Y - mousey
            CType(sender, PictureBox).FindForm().Left = Windows.Forms.Cursor.Position.X - mousex
        End If
    End Sub

    Private Sub WidgetBG_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
        Timer1.Enabled = False
        drag = False
    End Sub

    Private Sub WidgetBG_DoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
        CType(sender, PictureBox).FindForm().Close()
    End Sub
User avatar
MrAksel
C# Coder
C# Coder
Posts: 1758
Joined: Fri Mar 26, 2010 12:27 pm

First, you create a new file and add my first piece of code. Then build your project. Now, remove PictureBox1 and add a new TransparentPictureBox. You can use exactly the same code with loading images & such.
Next, in the form you want to drag without any border, add my second piece of code. Just paste it anywhere inside the class.
Now debug your project and you should have a click-transparent PictureBox and a form that drags perfectly around the screen.
LMAOSHMSFOAIDMT
Laughing my a** of so hard my sombrero fell off and I dropped my taco lmao;


Over 30 projects with source code!
Please give reputation to helpful members!

Image
Image
User avatar
mikethedj4
VIP - Site Partner
VIP - Site Partner
Posts: 2592
Joined: Thu Mar 25, 2010 4:36 am

Let me see if I understand this correctly.

So first I go to Project/Add Class and add a Class (an empty class definition), or a code file, and add your first piece of code below.
Code: Select all
Public Class TransparentPictureBox
    Inherits PictureBox

    Protected Overrides Sub WndProc(ByRef m As Message)
        If m.Msg = &H84 Then
            m.Result = New IntPtr(-1)
        Else
            MyBase.WndProc(m)
        End If
    End Sub
End Class
Next you say to add this piece of code to the borderless form.
Code: Select all
Protected Overrides Sub WndProc(ByRef m As Message)
        If m.Msg = &H84 Then
            m.Result = New IntPtr(2)
        Else
            MyBase.WndProc(m)
        End If
    End Sub
However the borderless form is dynamically created after pressing a button (so instead of using Dim like I did with the PictureBox I added the following near Public Class Form1, "Public WidgetForm As Form") and by adding your second code into another sub wouldn't work, cause of errors. Unless by adding it as it's own.

I replaced PictureBox with TransparentPictureBox, and added your second code near the bottom, but still I get the following error. However some gifs play threw all the way, and some don't jump back to frame 1, but instead gives me the error I got before.

My full code
Code: Select all
Public Class Form1
    Inherits System.Windows.Forms.Form

    Public WidgetForm As Form

    Dim drag As Boolean
    Dim mousex As Integer
    Dim mousey As Integer

    Dim sizew As Integer
    Dim sizey As Integer
    Dim opac As Double

    Public Sub HelpWindow()
        MsgBox("1) What's Pinning?" & vbCrLf & "      Pin = Display above all other windows (aka Task Manager)" & vbCrLf & vbCrLf & "2) How do I move the widget I added?" & vbCrLf & "      Simply drag and drop." & vbCrLf & vbCrLf & "3) How do I pin/unpin the widget I added?" & vbCrLf & "      When the widget is active meaning when you're using it. (ex. Can't function Firefox, Chrome, etc: window the window being active) Simply press F1, or right click and press Pin/Unpin from the menu." & vbCrLf & vbCrLf & "4) How do I close a widget?" & vbCrLf & "      Just double click the widget.", MsgBoxStyle.Question, "Need Help Functioning WidgetArea?")
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        AddWidget.Enabled = False
    End Sub

    Private Sub ChooseImage_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ChooseImage.Click
        PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage

        OpenFileDialog1.CheckFileExists = True
        OpenFileDialog1.ShowReadOnly = False
        OpenFileDialog1.Filter = "Supported Files | *.bmp;*.dib; *.jpg;*.jpeg;*.jpe;*.jfif; *.tif;*.tiff; *.png|Bitmap |*.bmp;*.dib|JPEG |*.jpg;*.jpeg;*.jpe;*.jfif|TIFF |*.tif;*.tiff |PNG |*.png |All Files |*.*"
        OpenFileDialog1.FilterIndex = 1
        If OpenFileDialog1.ShowDialog = DialogResult.OK Then
            PictureBox1.Image = Image.FromFile(OpenFileDialog1.FileName)

            WidgetW.Text = PictureBox1.Image.Width
            WidgetY.Text = PictureBox1.Image.Height
            AddWidget.Enabled = True
        End If
    End Sub

    Private Sub AddWidget_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AddWidget.Click
        WidgetForm = New Form()
        WidgetForm.ShowInTaskbar = False
        WidgetForm.TopMost = True
        WidgetForm.FormBorderStyle = Windows.Forms.FormBorderStyle.None
        WidgetForm.ContextMenuStrip = ContextMenuStrip2
        WidgetForm.Show()

        Dim WidgetBG As TransparentPictureBox = New TransparentPictureBox()
        sizew = Me.WidgetW.Text
        sizey = Me.WidgetY.Text
        WidgetBG.Size = New System.Drawing.Size(sizew, sizey)
        WidgetBG.Image = Image.FromFile(Me.OpenFileDialog1.FileName)
        WidgetBG.Location = New System.Drawing.Point(0, 0)
        WidgetBG.Visible = True
        WidgetForm.Controls.Add(WidgetBG)

        opac = Me.OpacInt.Text
        WidgetForm.Opacity = opac
        WidgetForm.Size = New System.Drawing.Size(sizew, sizey)

    'Add the event here
        AddHandler WidgetBG.MouseDown, AddressOf WidgetBG_MouseDown
        AddHandler WidgetBG.MouseMove, AddressOf WidgetBG_MouseMove
        AddHandler WidgetBG.MouseUp, AddressOf WidgetBG_MouseUp
        AddHandler WidgetBG.DoubleClick, AddressOf WidgetBG_DoubleClick
    End Sub

    Private Sub WidgetBG_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
        If e.Button = Windows.Forms.MouseButtons.Left Then
            drag = True

            'Use FindForm() here to get your parent form
            'You can also use CType(sender, TransparentPictureBox).Parent.Left which makes more sense
            mousex = Windows.Forms.Cursor.Position.X - CType(sender, TransparentPictureBox).FindForm().Left
            mousey = Windows.Forms.Cursor.Position.Y - CType(sender, TransparentPictureBox).FindForm().Top
        End If

        Timer1.Enabled = True
        Timer1.Interval = 2500
    End Sub

    Private Sub WidgetBG_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
        If drag Then
            CType(sender, TransparentPictureBox).FindForm().Top = Windows.Forms.Cursor.Position.Y - mousey
            CType(sender, TransparentPictureBox).FindForm().Left = Windows.Forms.Cursor.Position.X - mousex
        End If
    End Sub

    Private Sub WidgetBG_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
        Timer1.Enabled = False
        drag = False
    End Sub

    Private Sub WidgetBG_DoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
        CType(sender, TransparentPictureBox).FindForm().Close()
    End Sub

    Private Sub DonateToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        System.Diagnostics.Process.Start("https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=BSYGA2RB5ZJCC")
    End Sub

    Private Sub AddWidgetssToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AddWidgetssToolStripMenuItem.Click
        Me.UpdateTrayState(False)
        Me.WindowState = FormWindowState.Normal
    End Sub

    Private Sub HelpToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        HelpWindow()
    End Sub

    Private Sub CloseToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CloseToolStripMenuItem.Click
        Me.Close()
    End Sub

    Private Sub PayPalDonation_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PayPalDonation.Click
        System.Diagnostics.Process.Start("https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=BSYGA2RB5ZJCC")
    End Sub

    Private Sub PinUnpinToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PinUnpinToolStripMenuItem.Click
        If PinUnpinToolStripMenuItem.Checked = False Then
            Me.WidgetForm.TopMost = True
            PinUnpinToolStripMenuItem.CheckState = CheckState.Checked
        Else
            Me.WidgetForm.TopMost = False
            PinUnpinToolStripMenuItem.CheckState = CheckState.Unchecked
        End If
    End Sub

    Private Sub NotifyIcon1_MouseDoubleClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles NotifyIcon1.MouseDoubleClick
        Me.UpdateTrayState(False)
        Me.WindowState = FormWindowState.Normal
    End Sub

    Private Sub Form1_SizeChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.SizeChanged
        Me.UpdateTrayState(Me.WindowState = FormWindowState.Minimized)
    End Sub

    Private Sub UpdateTrayState(ByVal minimiseToTray As Boolean)
        Me.Visible = Not minimiseToTray
        Me.NotifyIcon1.Visible = minimiseToTray
    End Sub

    Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged
        If CheckBox1.Checked = True Then
            CheckBox1.Checked = True
            CheckBox1.CheckState = CheckState.Checked
            Me.TopMost = True
        Else
            CheckBox1.Checked = False
            CheckBox1.CheckState = CheckState.Unchecked
            Me.TopMost = False
        End If
    End Sub

    Private Sub LinkLabel1_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked
        HelpWindow()
    End Sub

    Protected Overrides Sub WndProc(ByRef m As Message)
        If m.Msg = &H84 Then
            m.Result = New IntPtr(2)
        Else
            MyBase.WndProc(m)
        End If
    End Sub
End Class
User avatar
MrAksel
C# Coder
C# Coder
Posts: 1758
Joined: Fri Mar 26, 2010 12:27 pm

I can't help you with the GIF errors, as I know nothing why it fails, so if nothing works you could search up a library to help. My code is answering your question about moving the form with a PictureBox on top of it.

You have done everything correct with the TransparentPictureBox so thats good.
To fix the other, add a new form to your project, and name it DraggableForm. Then add this code to your new form:
Code: Select all
    Protected Overrides Sub WndProc(ByRef m As Message)
        If m.Msg = &H84 Then
            m.Result = New IntPtr(2)
        Else
            MyBase.WndProc(m)
        End If
    End Sub
Now, inside your AddWidget_Click sub, replace WidgetForm = New Form() with WidgetForm = new DraggableForm()
Now you should be able to drag the widget form with a PictureBox(TransparentPictureBox) on top of it.
LMAOSHMSFOAIDMT
Laughing my a** of so hard my sombrero fell off and I dropped my taco lmao;


Over 30 projects with source code!
Please give reputation to helpful members!

Image
Image
13 posts Page 1 of 2
Return to “Coding Help & Support”