Region "Public Properties" Public Property WindowTop() As Double Get Return _windowTop End Get Set(ByVal value As Double) _windowTop = value End Set End Property Public Property WindowLeft() As Double Get Return _windowLeft End Get Set(ByVal value As Double) _windowLeft = value End Set End Property Public Property WindowHeight() As Double Get Return _windowHeight End Get Set(ByVal value As Double) _windowHeight = value End Set End Property Public Property WindowWidth() As Double Get Return _windowWidth End Get Set(ByVal value As Double) _windowWidth = value End Set End Property Private _tempstring As String Public Property initempstring() As String Get Return _tempstring End Get Set(ByVal value As String) _tempstring = value End Set End Property Public Property WindowState() As System.Windows.Forms.FormWindowState Get Return _windowState End Get Set(ByVal value As System.Windows.Forms.FormWindowState) _windowState = value End Set End Property #End Region 'Public Properties Public Sub Save() If Not Form1.WindowState = 1 Then WriteInteger("windowTop", "top", _windowTop) WriteInteger("windowLeft", "left", _windowLeft) WriteInteger("WindowHeight", "height", _windowHeight) WriteInteger("WindowWidth", "width", _windowWidth) End If End Sub Public Sub Load() Dim temptop As Integer = GetInteger("windowTop", "top", "0") If temptop > 0 Then _windowTop = temptop Else _windowTop = 0 End If Dim templeft As Integer = GetInteger("windowLeft", "left", "0") If templeft > 0 Then _windowLeft = templeft Else _windowLeft = 0 End If Form1.Location = New Point(WindowLeft, WindowTop) _windowHeight = GetInteger("WindowHeight", "height", "0") _windowWidth = GetInteger("WindowWidth", "width", "0") If (WindowWidth + templeft) < Screen.PrimaryScreen.WorkingArea.Width AndAlso (WindowHeight + temptop) < Screen.PrimaryScreen.WorkingArea.Height Then form1.Height = WindowHeight form1.Width = WindowWidth Else If (WindowWidth) < Screen.PrimaryScreen.WorkingArea.Width AndAlso (WindowHeight) < Screen.PrimaryScreen.WorkingArea.Height Then Dim centrex As Double = (Screen.PrimaryScreen.WorkingArea.Width - WindowWidth) / 2 Dim centrey As Double = (Screen.PrimaryScreen.WorkingArea.Height - WindowHeight) / 2 form1.Height = WindowHeight form1.Width = WindowWidth form1.Location = New Point(centrex, centrey) Else form1.Location = New Point(5, 5) SubResize(form1, 95, 95) End If End If End Sub Public Shared Sub SubResize(ByVal F As Form, ByVal percentW As Single, ByVal percentH As Single) Dim FormHeight As Long Dim FormWidth As Long 'Calculate the new height and width the form needs to be resized to, based on the current avaible screen area. FormHeight = Int((Screen.PrimaryScreen.WorkingArea.Height) * (percentH / 100)) FormWidth = Int((Screen.PrimaryScreen.WorkingArea.Width) * (percentW / 100)) 'Use the Form that is to be resized. With F 'Change the demensions and position of the form. .Height = FormHeight .Width = FormWidth End With End Sub