-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathSelectDateDialog.vb
117 lines (108 loc) · 4.73 KB
/
SelectDateDialog.vb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
Imports System
Public Class SelectDateDialog
Inherits System.Windows.Forms.Form
Private components As System.ComponentModel.IContainer
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If components IsNot Nothing Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
Private Sub InitializeComponent()
Me.dateTimePicker = New System.Windows.Forms.DateTimePicker()
Me.monthCalendar = New System.Windows.Forms.MonthCalendar()
Me.btnCancel = New System.Windows.Forms.Button()
Me.btnSave = New System.Windows.Forms.Button()
Me.SuspendLayout()
'dateTimePicker
Me.dateTimePicker.CustomFormat = "dddd, dd MMMM yyyy, HH:mm:ss"
Me.dateTimePicker.Dock = System.Windows.Forms.DockStyle.Fill
Me.dateTimePicker.Format = System.Windows.Forms.DateTimePickerFormat.Custom
Me.dateTimePicker.Location = New System.Drawing.Point(0, 0)
Me.dateTimePicker.Name = "dateTimePicker"
Me.dateTimePicker.Size = New System.Drawing.Size(263, 20)
Me.dateTimePicker.TabIndex = 0
'monthCalendar
Me.monthCalendar.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) Or System.Windows.Forms.AnchorStyles.Left) Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.monthCalendar.Location = New System.Drawing.Point(18, 32)
Me.monthCalendar.MaxSelectionCount = 1
Me.monthCalendar.Name = "monthCalendar"
Me.monthCalendar.TabIndex = 1
'btnCancel
Me.btnCancel.Anchor = System.Windows.Forms.AnchorStyles.Bottom
Me.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel
Me.btnCancel.Location = New System.Drawing.Point(134, 206)
Me.btnCancel.Name = "btnCancel"
Me.btnCancel.Size = New System.Drawing.Size(75, 23)
Me.btnCancel.TabIndex = 2
Me.btnCancel.Text = "Cancel"
Me.btnCancel.UseVisualStyleBackColor = True
'btnSave
Me.btnSave.Anchor = System.Windows.Forms.AnchorStyles.Bottom
Me.btnSave.DialogResult = System.Windows.Forms.DialogResult.OK
Me.btnSave.Location = New System.Drawing.Point(53, 206)
Me.btnSave.Name = "btnSave"
Me.btnSave.Size = New System.Drawing.Size(75, 23)
Me.btnSave.TabIndex = 3
Me.btnSave.Text = "Save"
Me.btnSave.UseVisualStyleBackColor = True
'SelectDateDialog
Me.AcceptButton = Me.btnSave
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.CancelButton = Me.btnCancel
Me.ClientSize = New System.Drawing.Size(263, 241)
Me.Controls.Add(Me.btnSave)
Me.Controls.Add(Me.btnCancel)
Me.Controls.Add(Me.monthCalendar)
Me.Controls.Add(Me.dateTimePicker)
Me.MaximizeBox = False
Me.MinimizeBox = False
Me.Name = "SelectDateDialog"
Me.ShowIcon = False
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent
Me.Text = "Choose a date:"
Me.ResumeLayout(False)
End Sub
Private WithEvents btnSave As System.Windows.Forms.Button
Private WithEvents btnCancel As System.Windows.Forms.Button
Private WithEvents monthCalendar As System.Windows.Forms.MonthCalendar
Public WithEvents dateTimePicker As System.Windows.Forms.DateTimePicker
Public Sub New()
Me.InitializeComponent()
Dim theme As WalkmanLib.Theme = Settings.GetTheme()
WalkmanLib.ApplyTheme(theme, Me, True)
If components IsNot Nothing Then WalkmanLib.ApplyTheme(theme, components.Components, True)
End Sub
Sub SelectDateDialog_VisibleChanged() Handles Me.VisibleChanged
If Me.Visible Then
Me.CenterToParent()
End If
End Sub
Sub dateTimePicker_ValueChanged() Handles dateTimePicker.ValueChanged
monthCalendar.SelectionStart = dateTimePicker.Value
monthCalendar.SelectionEnd = dateTimePicker.Value
End Sub
Sub monthCalendar_DateSelected() Handles monthCalendar.DateSelected
dateTimePicker.Value = monthCalendar.SelectionStart
End Sub
Sub CloseSelectDateDialog() Handles btnCancel.Click
Me.Close()
Me.DestroyHandle()
Me.Dispose()
End Sub
Sub btnSave_Click() Handles btnSave.Click
If _saveAction IsNot Nothing Then
_saveAction.Invoke()
End If
CloseSelectDateDialog()
End Sub
Private _saveAction As Action
Public WriteOnly Property SaveAction As Action
Set(value As Action)
_saveAction = value
End Set
End Property
End Class