Files
ECO2-OD/ArinWarev1/Module/CForm.vb
2018-12-09 20:18:51 +09:00

111 lines
4.5 KiB
VB.net

Public Class CForm
Public Parameter As String = "" '//트리노드로부터들어오는 화면파라미터
Public TreeTag As String = "" '//트리노드의 태그값
Public Overridable Function AcceptChanged() As Boolean
Return True
End Function
Public Overridable Function RejectChanged() As Boolean
Return True
End Function
Public Overridable Function HasChanged() As Boolean
Return True
End Function
Private Sub Frm_Base_FormClosed(sender As Object, e As FormClosedEventArgs) Handles MyBase.FormClosed
If Not Pub.Setting Is Nothing AndAlso Me.WindowState = FormWindowState.Normal Then
Dim screenCount As Integer = Screen.AllScreens.Length
Dim screenwidth As Integer = Screen.PrimaryScreen.Bounds.Width
Dim screenheight As Integer = Screen.PrimaryScreen.Bounds.Height
Dim iniKeyP As String = "Position{0}{1}"
Dim iniKeyS As String = "Size{0}{1}"
iniKeyP = String.Format(iniKeyP, screenwidth, screenheight)
iniKeyS = String.Format(iniKeyS, screenwidth, screenheight)
Pub.Setting.Data("formsetting_" + Me.Name.ToLower(), iniKeyP, "") = Me.Left.ToString() + "," + Me.Top.ToString()
'고정폼에는 크기를 조정하지 않는다. 160713
If Me.FormBorderStyle <> System.Windows.Forms.FormBorderStyle.FixedDialog AndAlso
Me.FormBorderStyle <> System.Windows.Forms.FormBorderStyle.Fixed3D AndAlso
Me.FormBorderStyle <> System.Windows.Forms.FormBorderStyle.FixedSingle AndAlso
Me.FormBorderStyle <> System.Windows.Forms.FormBorderStyle.FixedToolWindow Then
Pub.Setting.Data("formsetting_" + Me.Name.ToLower(), iniKeyS, "") = Me.Width.ToString() + "," + Me.Height.ToString()
End If
Pub.Setting.Save()
End If
End Sub
Private Sub Frm_Base_KeyDown(sender As System.Object, e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
If e.KeyCode = Keys.Escape Then
e.Handled = True
e.SuppressKeyPress = True
DialogResult = Windows.Forms.DialogResult.Cancel
Me.Close()
End If
End Sub
Private Sub Frm_Base_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'일반상태일때의 처리
If Me.WindowState = FormWindowState.Normal Then
If StartPosition = FormStartPosition.Manual OrElse StartPosition = FormStartPosition.WindowsDefaultLocation Then
FormPositionLoad()
End If
'고정폼에는 크기를 조정하지 않는다. 160713
If Me.FormBorderStyle <> System.Windows.Forms.FormBorderStyle.FixedDialog AndAlso Me.FormBorderStyle <> System.Windows.Forms.FormBorderStyle.Fixed3D AndAlso Me.FormBorderStyle <> System.Windows.Forms.FormBorderStyle.FixedSingle AndAlso Me.FormBorderStyle <> System.Windows.Forms.FormBorderStyle.FixedToolWindow Then
FormSizeLoad()
End If
End If
End Sub
Protected Sub FormPositionLoad()
If Pub.Setting IsNot Nothing Then
Dim screenCount As Integer = Screen.AllScreens.Length
Dim screenwidth As Integer = Screen.PrimaryScreen.Bounds.Width
Dim screenheight As Integer = Screen.PrimaryScreen.Bounds.Height
Dim iniKey As String = "Position{0}{1}"
iniKey = String.Format(iniKey, screenwidth, screenheight)
Dim pos As String = Pub.Setting.Data("formsetting_" + Me.Name.ToLower(), iniKey, "")
Dim posbuf As String() = pos.Split(","c)
If posbuf.Length = 2 Then
Me.Left = Integer.Parse(posbuf(0))
Me.Top = Integer.Parse(posbuf(1))
End If
End If
End Sub
Protected Sub FormSizeLoad()
If Pub.Setting IsNot Nothing Then
Dim screenCount As Integer = Screen.AllScreens.Length
Dim screenwidth As Integer = Screen.PrimaryScreen.Bounds.Width
Dim screenheight As Integer = Screen.PrimaryScreen.Bounds.Height
Dim iniKey As String = "Size{0}{1}"
iniKey = String.Format(iniKey, screenwidth, screenheight)
Dim pos As String = Pub.Setting.Data("formsetting_" + Me.Name.ToLower(), iniKey, "")
Dim posbuf As String() = pos.Split(","c)
If posbuf.Length = 2 Then
Me.Width = Integer.Parse(posbuf(0))
Me.Height = Integer.Parse(posbuf(1))
End If
End If
End Sub
End Class