Avatar billede bramming Nybegynder
18. september 2011 - 16:34 Der er 4 kommentarer og
1 løsning

Box med Selection til at åbne programmer med

Hej Experter,

Jeg har følgende kode:

$x = @()

[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Drawing")

$objForm = New-Object System.Windows.Forms.Form
$objForm.Text = "Data Entry Form"
$objForm.Size = New-Object System.Drawing.Size(300,200)
$objForm.StartPosition = "CenterScreen"

$objForm.KeyPreview = $True

$objForm.Add_KeyDown({if ($_.KeyCode -eq "Enter")
    {
        foreach ($objItem in $objListbox.SelectedItems)
            {$x += $objItem}
        $objForm.Close()
    }
    })

$objForm.Add_KeyDown({if ($_.KeyCode -eq "Escape")
    {$objForm.Close()}})

$OKButton = New-Object System.Windows.Forms.Button
$OKButton.Location = New-Object System.Drawing.Size(75,120)
$OKButton.Size = New-Object System.Drawing.Size(75,23)
$OKButton.Text = "OK"

$OKButton.Add_Click(
  {
        foreach ($objItem in $objListbox.SelectedItems)
            {$x += $objItem}
        $objForm.Close()
  })

$objForm.Controls.Add($OKButton)

$CancelButton = New-Object System.Windows.Forms.Button
$CancelButton.Location = New-Object System.Drawing.Size(150,120)
$CancelButton.Size = New-Object System.Drawing.Size(75,23)
$CancelButton.Text = "Cancel"
$CancelButton.Add_Click({$objForm.Close()})
$objForm.Controls.Add($CancelButton)

$objLabel = New-Object System.Windows.Forms.Label
$objLabel.Location = New-Object System.Drawing.Size(10,20)
$objLabel.Size = New-Object System.Drawing.Size(280,20)
$objLabel.Text = "Vælg venligst (Multi-selection er tilladt):"
$objForm.Controls.Add($objLabel)

$objListbox = New-Object System.Windows.Forms.Listbox
$objListbox.Location = New-Object System.Drawing.Size(10,40)
$objListbox.Size = New-Object System.Drawing.Size(260,20)

$objListbox.SelectionMode = "One"

[void] $objListbox.Items.Add("Ping_google")
[void] $objListbox.Items.Add("Notepad")
[void] $objListbox.Items.Add("Hide a file")
[void] $objListbox.Items.Add("Delete cache Temp-files")
[void] $objListbox.Items.Add("Open a file")
[void] $objListbox.Items.Add("Scandisk")
[void] $objListbox.Items.Add("Open FTP Program")
[void] $objListbox.Items.Add("Get better grades")
[void] $objListbox.Items.Add("Ping a unit")
[void] $objListbox.Items.Add("Trace route")

$objListBox.BackColor = "Black"
$objListBox.Forecolor = "Red"
$objListBox.Font = "Tahoma"

$objListbox.Height = 70
$objForm.Controls.Add($objListbox)
$objForm.Topmost = $True

$objForm.Add_Shown({$objForm.Activate()})
[void] $objForm.ShowDialog()

$x


Men når jeg vælger en af ovenstående udskriver den bare det valgte. Hvordan kan jeg lave en if sætning eller lign. så når jeg klikker på "Ping_google", så udfører den f.eks. denne kommando;
$ping = New-Object System.Net.NetworkInformation.Ping
$ping.Send("www.google.com", 5000)

Jeg vil gerne kunne lave flere lign. sætninger afhængig af hvilket punkt man vælger på menuen.

Hjæææææææææææææææææælp :)!
Avatar billede arne_v Ekspert
18. september 2011 - 17:37 #1
Powershell?
Avatar billede arne_v Ekspert
18. september 2011 - 17:38 #2
Hvis det her var C#/VB.NET saa ville man bruge System.Diagnostics.Process.Start til at koere et eksternt program med.
Avatar billede bramming Nybegynder
18. september 2011 - 18:05 #3
Ja det er opbygget i powershell.
Avatar billede arne_v Ekspert
14. oktober 2011 - 23:49 #4
Du burde kunne bruge all .NET klasser i PowerShell
Avatar billede bramming Nybegynder
14. november 2011 - 11:33 #5
Lukker.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester