Ich arbeite an einem PowerShell-Skript, das angedockte Formulare und Bedienfelder verwendet. Ich war in der Lage, die Form und Platten einfach gut zu schaffen, aber ich habe Probleme eine Auswahlbox immer während der Laufzeit, um die Größe $inputbox.Bottom = $form.Height - 215
mit der Größe zu kontrollieren, aber ich empfange die Fehler.Bottom ist schreibgeschützt
‚Bottom‘ ist ein Read- einzige Eigenschaft.
Die einfache Verwendung von Fill
im Panel wird nicht funktionieren, da ich Schaltflächen oberhalb und unterhalb der Listbox habe. Hier ist ein Beispiel von meinem Code:
[void] [System.Reflection.Assembly]::LoadWithPartialName(“System.Windows.Forms”)
[void] [System.Reflection.Assembly]::LoadWithPartialName(“System.Drawing”)
$form.ResizeEnd
$form = New-Object System.Windows.Forms.Form
$form.Size = New-Object System.Drawing.Size(1040,459)
$form.KeyPreview = $true
$form.StartPosition = ‘centerscreen’
$form.BackColor = 'MidnightBlue'
$form.Add_KeyDown({if($_.KeyCode -eq "Escape"){$form.Close()}})
$form.Text = "Dialog Box 2.0"
$form.Icon = [system.drawing.icon]::ExtractAssociatedIcon($PSHOME + "\powershell_ise.exe")
$buttonPanel3 = New-Object Windows.Forms.Panel
$buttonPanel3.Size = New-Object Drawing.Size @(290,70)
$buttonPanel3.Dock = "left"
$buttonPanel3.BackColor = 'Blue'
$inputbox = New-Object System.Windows.Forms.ListBox
$inputbox.BorderStyle = 'NONE'
$inputbox.Font = New-Object System.Drawing.Font(“segoe UI”,9)
$inputbox.SelectionMode = "MultiExtended"
$inputbox.Left = 10
$inputbox.Top = 105
$inputbox.Width = 200
$inputbox.Bottom = $form.Height -215
$inputbox.Height = $form.Height -215
$buttonPanel3.Controls.Add($inputbox)
$form.Controls.Add($buttonPanel3)
$form.ShowDialog()
Wenn jemand einig Beispiel-Code eines listbox geben könnte, die (vor allem mit vertikaler Ausdehnung) ändert die Größe, wenn Sie das Formulars der Größe, die ausgezeichnet wäre.
Bearbeiten Sie die 'Height' Eigenschaft, nicht die' Bottom' Eigenschaft –
Wenn ich die Höhe Eigenschaft bearbeiten wird es richtig initialisiert werden, aber Es wird nicht geändert, während das Programm ausgeführt wird. – CuriousOne
Versuchen Sie es manuell (z. B. durch Ziehen der Grenzen des Steuerelements)? Ich sehe keine Versuche, programmgesteuert die Größe eines Steuerelements zu ändern * während * das Formular angezeigt wird –