Hey there, I'm working on a game set in a simulated computer environment. I've made a template forum which I use to copy and paste the code from to every single form. Here's a small bit of the code I use within the game that is copied to all the windows:
Is there a way I can simply say "Inherit setuptitlebar" in each window or something so I don't have to copy over all the code to each window? I often update the code and copying it across to 20 windows again and again (soon to be more) drives me mad.
So what's the simplest way to do this knowing that the controls on each window have the exact same names?
P.S The graphical environment is highly customizable so don't freak out or tell me that I'm over-complicating the code... trust me, I'm not!
VB.NET:
Public Sub setuptitlebar()
titlebar.Height = ShiftOSDesktop.titlebarheight
Me.Size = New Size(366, 167) 'put the default size of your window here
Me.Size = New Size(Me.Width, Me.Height + ShiftOSDesktop.titlebarheight - 30)
pgleft.Width = ShiftOSDesktop.windowbordersize
pgright.Width = ShiftOSDesktop.windowbordersize
pgbottom.Height = ShiftOSDesktop.windowbordersize
Me.Size = New Size(Me.Width + ShiftOSDesktop.windowbordersize + ShiftOSDesktop.windowbordersize, Me.Height + ShiftOSDesktop.windowbordersize)
If ShiftOSDesktop.showwindowcorners = True Then
pgtoplcorner.Show()
pgtoprcorner.Show()
Else
pgtoplcorner.Hide()
pgtoprcorner.Hide()
End If
If ShiftOSDesktop.boughttitlebar = False Then
titlebar.Hide()
Me.Size = New Size(Me.Width, Me.Size.Height - titlebar.Height)
End If
If ShiftOSDesktop.boughttitletext = False Then
lbtitletext.Hide()
Else
lbtitletext.Font = New Font(ShiftOSDesktop.titletextfont, ShiftOSDesktop.titletextsize, ShiftOSDesktop.titletextstyle)
lbtitletext.Show()
End If
If ShiftOSDesktop.boughtclosebutton = False Then
closebutton.Hide()
Else
closebutton.BackColor = ShiftOSDesktop.closebuttoncolour
closebutton.Height = ShiftOSDesktop.closebuttonheight
closebutton.Width = ShiftOSDesktop.closebuttonwidth
closebutton.Show()
End If
If ShiftOSDesktop.boughtrollupbutton = False Then
rollupbutton.Hide()
Else
rollupbutton.BackColor = ShiftOSDesktop.rollupbuttoncolour
rollupbutton.Height = ShiftOSDesktop.rollupbuttonheight
rollupbutton.Width = ShiftOSDesktop.rollupbuttonwidth
rollupbutton.Show()
End If
If ShiftOSDesktop.boughtwindowborders = True Then
closebutton.Location = New Point(titlebar.Size.Width - ShiftOSDesktop.closebuttonside - closebutton.Size.Width, ShiftOSDesktop.closebuttontop)
rollupbutton.Location = New Point(titlebar.Size.Width - ShiftOSDesktop.rollupbuttonside - rollupbutton.Size.Width, ShiftOSDesktop.rollupbuttontop)
Select Case ShiftOSDesktop.titletextposition
Case "Left"
lbtitletext.Location = New Point(ShiftOSDesktop.titletextside, ShiftOSDesktop.titletexttop)
Case "Centre"
lbtitletext.Location = New Point((titlebar.Width / 2) - lbtitletext.Width / 2, ShiftOSDesktop.titletexttop)
End Select
lbtitletext.ForeColor = ShiftOSDesktop.titletextcolour
Else
closebutton.Location = New Point(titlebar.Size.Width - ShiftOSDesktop.closebuttonside - pgtoplcorner.Width - pgtoprcorner.Width - closebutton.Size.Width, ShiftOSDesktop.closebuttontop)
rollupbutton.Location = New Point(titlebar.Size.Width - ShiftOSDesktop.rollupbuttonside - pgtoplcorner.Width - pgtoprcorner.Width - rollupbutton.Size.Width, ShiftOSDesktop.rollupbuttontop)
Select Case ShiftOSDesktop.titletextposition
Case "Left"
lbtitletext.Location = New Point(ShiftOSDesktop.titletextside + pgtoplcorner.Width, ShiftOSDesktop.titletexttop)
Case "Centre"
lbtitletext.Location = New Point((titlebar.Width / 2) - lbtitletext.Width / 2, ShiftOSDesktop.titletexttop)
End Select
lbtitletext.ForeColor = ShiftOSDesktop.titletextcolour
End If
If ShiftOSDesktop.boughtclockicon = True Then
pnlicon.Visible = True
pnlicon.Location = New Point(ShiftOSDesktop.titlebariconside, ShiftOSDesktop.titlebaricontop)
End If
End Sub
Is there a way I can simply say "Inherit setuptitlebar" in each window or something so I don't have to copy over all the code to each window? I often update the code and copying it across to 20 windows again and again (soon to be more) drives me mad.
So what's the simplest way to do this knowing that the controls on each window have the exact same names?
P.S The graphical environment is highly customizable so don't freak out or tell me that I'm over-complicating the code... trust me, I'm not!