Есть много примеров того, как вы могли бы реализовать это. WPF более элегантен, но вы используете WinForms, поэтому он не такой гибкий.
Вы можете попробовать один из следующих вариантов:
Разница между элементом управления Calendar & Date Picker в WPF?
Работа с календарем WPF
Выбор выпадающего списка дат
В целом, ваш запрос является дубликатом этого, но это для WPF, и вы используете WinForm ....
Как получить информацию DatePicker и TextBox из XAML в переменную Powershell?
Подход WinForm будет выглядеть примерно так ...
Два элемента управления Calendar для PowerShell
Примеры кода для вышеперечисленного слишком длинны для размещения здесь. Таким образом, нажмите на них и скопируйте пасту по мере необходимости.
или это
Эй, сценарист! Может ли Windows PowerShell уменьшить мою потребность в наборе даты?
Get-DatePickerFunction.ps1
Function Get-DatePicker
{
[System.Reflection.Assembly]::LoadWithPartialName(“System.windows.forms”) |
Out-Null
$WinForm = New-Object Windows.Forms.Form
$WinForm.text = “DatePicker Control”
$WinForm.Size = New-Object Drawing.Size(205,55)
$DatePicker = New-Object System.Windows.Forms.DateTimePicker
#$DatePicker.Format = [windows.forms.datetimepickerFormat]::custom
#$DatePicker.CustomFormat = “MM-dd-yyyy”
$WinForm.Controls.Add($DatePicker)
$WinForm.Add_Shown($WinForm.Activate())
$WinForm.showdialog() | Out-Null
$DatePicker.value
} #end function Get-DatePicker
# *** Entry point to script ***
# Get-EventLog -LogName application -After [datetime](Get-Datepicker) # Windows PowerShell 2.0 call
# wps 1.0 version of call
$dte = [datetime](Get-DatePicker)
Get-EventLog -LogName application |
Where-Object { $_.timeWritten -gt $dte }
Как вообще не выбирать дату. Установите в ноль Если вы не сделаете это обязательным, вы должны разрешить просто пропуск записи. Приведенные выше примеры показывают, что возвращаемое значение может быть необязательным.