Windows窗体-随机背景色-Powershell

Windows窗体-随机背景色-Powershell,windows,forms,random,colors,Windows,Forms,Random,Colors,我正在使用Windows窗体制作GUI,我想添加一个功能,您可以在其中随机化窗体的背景颜色。请注意,我打算将代码完全写在Powershell中 下面是一段代码: [void] [System.Reflection.Assembly]::LoadWithPartialName("System.Drawing") [void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") $objForm =

我正在使用Windows窗体制作GUI,我想添加一个功能,您可以在其中随机化窗体的背景颜色。请注意,我打算将代码完全写在Powershell中

下面是一段代码:

[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Drawing") 
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")  
$objForm = New-Object System.Windows.Forms.Form    
$choochoo = New-Object System.Windows.Forms.Button 
下面是我需要帮助的代码:

$choochoo.Add_Click({$objForm.BackColor = Random}) 
显然,“随机”在本例中不起作用,仅用作占位符


我想我需要使用时间生成随机值,但如果有更具体的代码,我会很感激。提前感谢。

您将希望使用的实例从的可能静态属性中进行选择。

如果有人也需要它,可以使用它:

function RandomBacklight {` 
$random = New-Object System.Random 
switch ($random.Next(9)) { 
    0 {$objForm.BackColor = "LightBlue"} 
    1 {$objForm.BackColor = "LightGreen"} 
    2 {$objForm.BackColor = "LightPink"} 
    3 {$objForm.BackColor = "Yellow"} 
    4 {$objForm.BackColor = "Orange"} 
    5 {$objForm.BackColor = "Brown"} 
    6 {$objForm.BackColor = "Magenta"} 
    7 {$objForm.BackColor = "White"} 
    8 {$objForm.BackColor = "Gray"} 

} 
}

$choochoo.Add_Click({RandomBacklight})

最近一直在学习Powershell。如果今天有人想做所有可能的随机颜色(我知道这条线很旧),PlayingAround想出了一个解决方案


我惊讶于这是多么简单。你每天都会学到新东西。
Add-Type -AssemblyName System.Windows.Forms
$Form = New-Object system.Windows.Forms.Form
$Form.Text = "Sample Form"
$Label = New-Object System.Windows.Forms.Label
$Label.Text = "This is a Form."
$Form.Controls.Add($Label)

function colorful{
    $c1 = '';
    $c2 = '';
    foreach( $digit in (1..6 | foreach{ '{0:X}' -f (Get-Random -Max 16) })){
        $c1 = "$c1"+"$digit";}
    foreach( $digit in (1..6 | foreach{ '{0:X}' -f (Get-Random -Max 16) })){
        $c2 = "$c2"+"$digit";}
    $Form.BackColor = "#FF"+$c1;
    $Form.ForeColor = "#FF"+$c2;
};
colorful;
$Form.ShowDialog();