Quantcast
Channel: Windows PowerShell Forum
Viewing all articles
Browse latest Browse all 2314

Buttons in Formular automatisch erzeugen

$
0
0

Hallo Leute,

ich habe ein Problem: Ich möchte ein Formular erzeugen, das beim Aufruf die Namen der Hyper-V Hosts aus der Datenbank des SCVMM liest und abhängig von der Anzahl der gefundenen Server die Größe des Formulars festlegt. Dann sollen dort für jeden Server eine Schaltfläche, mit dem Namen des Servers in fünf Spalten und soviel Zeilen, wie benötigt eingefügt werden. Bei Betätigung einer Schaltfläche soll dann später eine Funktion ausgeführt werden, die den Namen des Servers übergeben bekommt. Zur Zeit habe ich ein "Write-Host" eingesetzt. Es wird immer nur der Name der letzten Schaltfläche ausgegeben.

Wie bekomme ich es hin, dass die Schaltflächen die eigenen Namen ausgeben/ich die Objekte in der Schleife indizieren und hochzählen kann? In C#, VB und VBA geht es doch auch. Ich habe bisher einiges versucht, was aber keinen Erfolg brachte:
- $OKButton[$i]
- $OKButton+$i.ToString()
...

Mein Code:

# Schleife
$Zeile = 1
$Spalte = 1
for ($i = 0; $i -lt $Anzahl; $i++) {
    $j = [Math]::Truncate($i/5)    
    $k = $i % 5
    $OKButton = New-Object System.Windows.Forms.Button
    $OKButton.Location = New-Object System.Drawing.Size(($k*100+6),($j*25+6))
    $OKButton.Size = New-Object System.Drawing.Size(100,25)
    $OKButton.Text = $HVs[$i]
    $OKButton.Name = "Button$i"
    $OKButton.BackColor = "Green"
    $OKButton.ForeColor = "White"
    $OKButton.DialogResult = "OK"
    $OKButton.Add_Click({ Write-Host $OKButton.Name})
    $objForm.Controls.Add($OKButton)
}

Grüße,

Thomas


Viewing all articles
Browse latest Browse all 2314


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>