2016-01-24 3 views
0

Я пытаюсь сделать массивы, которые приводят к разным файлам на моем компьютере. Затем я хочу отобразить массивы в флажке, поэтому я могу просто щелкнуть и открыть там свои файлы. Массив может быть статичным, но было бы неплохо, если бы я мог добавить новый материал динамически.PowerShell: как отображать массивы в CheckListBox

$menulist.DataBindings.DefaultDataSourceUpdateMode = 0 
$menulist.FormattingEnabled = $True 
$System_Drawing_Point = New-Object System.Drawing.Point 
$System_Drawing_Point.X = 12 
$System_Drawing_Point.Y = 24 
$menulist.Location = $System_Drawing_Point 
$menulist.Name = "menulist" 
$System_Drawing_Size = New-Object System.Drawing.Size 
$System_Drawing_Size.Height = 328 
$System_Drawing_Size.Width = 235 
$TemplateArray = $template1,$template2; 
$template1 = Get-ChildItem -Path C:\Users\$Env:USERNAME\Documents\test.tx 
$template2 = Get-ChildItem -Path C:\Users\$Env:USERNAME\Documents\test2.txt 
$menulist.Items.AddRange($TemplateArray) 
$menulist.Size = $System_Drawing_Size 
$menulist.TabIndex = 7 
+0

Где ваша '$ Form.ShowDialog();' или что-то подобное? http://stackoverflow.com/a/21009953/897326 Вообще говоря, когда дело доходит до показа форм, вам следует перейти на приложение C#/WinForms, потому что там гораздо проще, и вы все равно используете .NET, независимо от того, от Powershell или C#, единственное отличие - простота синтаксиса и Visual Studio, которая помогает вам создавать. – Neolisk

+0

на самом верху. Это только раздел контрольного списка. Спасибо за ссылку. Так я начал. Но если попытаться «связать» массивы, они больше не показывают их. – Haydar

+0

Можете ли вы опубликовать весь раздел кода? Затем мы сможем скопировать/вставить в наш любимый редактор и попробовать. '$ TemplateArray = $ template1, $ template2;' <- это не имеет большого значения для меня, тем более что вы (re) определяете '$ template1, $ template2;' after. – Neolisk

ответ

0

В то время как мы все еще обсуждаем то, что вам нужно, я возьму догадку:

$TemplateArray = $template1,$template2; 
$template1 = Get-ChildItem -Path C:\Users\$Env:USERNAME\Documents\test.tx 
$template2 = Get-ChildItem -Path C:\Users\$Env:USERNAME\Documents\test2.txt 

Уведомление выше - $template1 и $template2 используются, прежде чем они объявлены. Вероятно, вы получите две пустые строки. Вместо этого сначала инициализируйте переменные:

$template1 = Get-ChildItem -Path C:\Users\$Env:USERNAME\Documents\test.tx 
$template2 = Get-ChildItem -Path C:\Users\$Env:USERNAME\Documents\test2.txt 
$TemplateArray = $template1,$template2; 
+0

Спасибо! Похоже на то, что заставило его не отображаться. – Haydar

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