Windows窗体-随机背景色-Powershell
我正在使用Windows窗体制作GUI,我想添加一个功能,您可以在其中随机化窗体的背景颜色。请注意,我打算将代码完全写在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 =
[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();