2015-12-17 1 views
0

Я пытаюсь показать DateTimePicker в форме WinForms в PowerShell. Когда появится форма, можно изменить дату, но нажатие кнопки выпадающего меню не отображает календарь. Кажется, что-то происходит, это просто не видно.Календарь .NET DateTimePicker не отображается в форме PowerShell

Какая глупость я здесь отсутствую?

$form = New-Object Windows.Forms.Form 
$form.Size = New-Object Drawing.Size @(400, 400) 
$form.StartPosition = "CenterScreen" 
$form.Text = "When do you want the snapshot to be taken?" 
$form.Font = New-Object Drawing.Font("Microsoft Sans Serif",12) 
$form.FormBorderStyle = [Windows.Forms.FormBorderStyle]::Fixed3D 

$panel = New-Object Windows.Forms.FlowLayoutPanel 
$panel.Height = 400 
$panel.Width = 400 
$panel.AutoScroll = $true 
$panel.FlowDirection = [Windows.Forms.FlowDirection]::TopDown 
$panel.WrapContents = $false 

$titleText = New-Object Windows.Forms.Label 
$titleText.AutoSize = $true 
$titleText.Text = "When do you want the snapshot to be taken?" 
$panel.Controls.Add($titleText) 

$datePicker = New-Object Windows.Forms.DateTimePicker 
$datePicker.ShowUpDown = $false 
$datePicker.MinDate = $now 
$datePicker.MaxDate = $now.AddMonths(3); #arbitrary 
$datePicker.MaxSelectionCount = 1 
$datePicker.Width = 350 
$datePicker.Enabled = $false 
$panel.Controls.Add($datePicker) 

$form.Controls.Add($panel) 
$drc = $form.ShowDialog() 

ответ

0

Ваш код работает нормально на моем компьютере. Я копировать-вставить код и добавил Add-Type в верхней части:

Add-Type -AssemblyName System.Windows.Forms 

И изменил $ datePicker.Enabled:

$datePicker.Enabled = $true 

При запуске, я могу изменить дату/время, а также выпадающий список работает, как ожидалось:

Powershell Windows Forms datepicker

+1

Я буду отмечать вас в ответ, так как вы меня смотреть на него более внимательно. В конечном итоге это был мой инструмент - надстройка PowerShell для VS 2015 Update 1 - что-то сломало это. Запуск скрипта вне инструментария отлично работает, как вы говорите. Очень странно. –

Смежные вопросы