Files
OmagCUT/Application.xaml.vb
T
Emmanuele Sassi c529c9dd59 OmagCUT :
- aggiungo file mancanti.
2015-08-23 09:50:47 +00:00

48 lines
1.7 KiB
VB.net

Imports System.Windows.Forms
Class Application
' Application-level events, such as Startup, Exit, and DispatcherUnhandledException
' can be handled in this file.
Protected Overrides Sub OnStartup(e As StartupEventArgs)
MyBase.OnStartup(e)
Dim mainWindow As New MainWindow
Dim thisDpiWidthFactor As Double
Dim thisDpiHeightFactor As Double
mainWindow.Show()
'Controllo che abbia creato la finestra per evitare crash se non c'è la chiave
If (IsNothing(Application.Current.MainWindow)) Then
Exit Sub
End If
CalculateDpiFactors(mainWindow, thisDpiWidthFactor, thisDpiHeightFactor)
If (Screen.AllScreens.Length > 1) Then
Dim s2 As Screen = Screen.AllScreens(1)
Dim r2 As System.Drawing.Rectangle = s2.WorkingArea
mainWindow.Top = r2.Top / thisDpiHeightFactor
mainWindow.Left = r2.Left / thisDpiWidthFactor
Else
Dim s1 As Screen = Screen.AllScreens(0)
Dim r1 As System.Drawing.Rectangle = s1.WorkingArea
mainWindow.Top = r1.Top
mainWindow.Left = r1.Left
End If
End Sub
Private Shared Sub CalculateDpiFactors(ByRef mainwindow As Window, ByRef thisDpiWidthFactor As Double, ByRef thisDpiHeightFactor As Double)
Dim MainWindowPresentationSource As PresentationSource = PresentationSource.FromVisual(Application.Current.MainWindow)
Dim m As New Matrix
m = PresentationSource.FromVisual(Application.Current.MainWindow).CompositionTarget.TransformToDevice
thisDpiWidthFactor = m.M11
thisDpiHeightFactor = m.M22
End Sub
End Class