MS Bugfix

This commit is contained in:
2020-03-26 14:17:48 +01:00
parent 42eef08dc5
commit 4250fa7cb6
12 changed files with 550 additions and 419 deletions

View File

@@ -244,32 +244,78 @@ Public Class frmMain
If My.Settings.frmMainPosition.IsEmpty = False Then
If My.Settings.frmMainPosition.X > 0 And My.Settings.frmMainPosition.Y > 0 Then
' Gespeicherte Werte verwenden
Me.Location = Screen.AllScreens(UBound(Screen.AllScreens)).Bounds.Location + My.Settings.frmMainPosition
If Not My.Settings.frmMainSize.IsEmpty Then
If My.Settings.frmMainWindowState = "Normal" Then
Dim oisonscreen = IsOnScreen(My.Settings.frmMainPosition, My.Settings.frmMainSize)
If oisonscreen = False Then
Me.StartPosition = FormStartPosition.CenterScreen
Exit Sub
Else
' Gespeicherte Werte verwenden
Me.Location = Screen.AllScreens(UBound(Screen.AllScreens)).Bounds.Location + My.Settings.frmMainPosition
End If
Else
Me.WindowState = FormWindowState.Maximized
End If
End If
Else
LOGGER.Info("FormPosition is out of range!..Standard will be loaded!")
If My.Settings.frmMainWindowState = "Normal" Then
Me.StartPosition = FormStartPosition.CenterScreen
Else
Me.WindowState = FormWindowState.Maximized
End If
End If
Me.Location = Screen.AllScreens(UBound(Screen.AllScreens)).Bounds.Location + My.Settings.frmMainPosition
End If
'Sind Werte hinterlegt?
If Not My.Settings.frmMainSize.IsEmpty Then
If My.Settings.frmMainWindowState = "Normal" Then
' Gespeicherte Werte verwenden
Try
Me.Size = My.Settings.frmMainSize
Catch ex As Exception
'If Not My.Settings.frmMainSize.IsEmpty Then
' If My.Settings.frmMainWindowState = "Normal" Then
' Dim oisonscreen = IsOnScreen(My.Settings.frmMainPosition, My.Settings.frmMainSize)
End Try
Else
Me.WindowState = FormWindowState.Maximized
End If
' If oisonscreen = False Then
' Me.StartPosition = FormStartPosition.CenterScreen
' Exit Sub
' End If
' ' Gespeicherte Werte verwenden
' Try
' Me.Size = My.Settings.frmMainSize
' Catch ex As Exception
' End Try
' Else
' Me.WindowState = FormWindowState.Maximized
' End If
End If
'End If
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Info("Error in Load FormLayout: " & ex.Message)
End Try
End Sub
Function IsOnScreen(ByVal RecLocation As System.Drawing.Point, ByVal RecSize As System.Drawing.Size, Optional MinPercentOnScreen As Double = 0.2)
Try
Dim PixelsVisible As Double = 0
Dim Rec As System.Drawing.Rectangle = New System.Drawing.Rectangle(RecLocation, RecSize)
For Each Scrn As Screen In Screen.AllScreens
Dim r As System.Drawing.Rectangle = System.Drawing.Rectangle.Intersect(Rec, Scrn.WorkingArea)
'intersect rectangle with screen
If (r.Width <> 0 And r.Height <> 0) Then
PixelsVisible += (r.Width * r.Height)
'tally visible pixels
End If
Next
Return PixelsVisible >= (Rec.Width * Rec.Height) * MinPercentOnScreen
Catch ex As Exception
Return False
End Try
End Function
Function Refresh_ConnectionString()
Try
TBPM_KONFIGURATIONTableAdapter.Connection.ConnectionString = CONNECTION_STRING
@@ -669,10 +715,10 @@ Public Class frmMain
Private Sub NotifyIcon1_MouseDoubleClick(sender As System.Object, e As MouseEventArgs) Handles NotifyIcon1.MouseDoubleClick
ShowMonitor()
BringMonitor2Front()
End Sub
Sub ShowMonitor()
BringToFront()
Sub BringMonitor2Front()
Me.BringToFront()
Visible = True
End Sub
Private Sub Timer_Tick(sender As System.Object, e As EventArgs) Handles TimerRefresh.Tick
@@ -735,7 +781,7 @@ Public Class frmMain
End Sub
Private Sub NotifyIcon1_Click(sender As System.Object, e As EventArgs) Handles NotifyIcon1.Click
ShowMonitor()
BringMonitor2Front()
End Sub
Private Sub Decide_Load()
Try
@@ -1704,7 +1750,7 @@ Public Class frmMain
End If
End Sub
Private Sub AnzeigenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles AnzeigenToolStripMenuItem.Click
ShowMonitor()
BringMonitor2Front()
End Sub
Private Sub frmMain_Resize(sender As Object, e As EventArgs) Handles Me.Resize
@@ -1832,4 +1878,11 @@ Public Class frmMain
frmInvDashboard.Show()
End Sub
Private Sub OutOfRangePMFixierenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles OutOfRangePMFixierenToolStripMenuItem.Click
Dim myPoint As Point = New Point(50, 50)
Me.Location = Screen.AllScreens(UBound(Screen.AllScreens)).Bounds.Location + myPoint
BringMonitor2Front()
End Sub
End Class