2017-07-17 3 views
0

パネルの.BackColorにランダムな色を付けようとしています。get-randomを使用してargbを設定する際のエラー

$rndm1 = Get-Random -minimum 50 -maximum 240 
$rndm2 = Get-Random -minimum 50 -maximum 240 
$rndm3 = Get-Random -minimum 50 -maximum 240 

明らかにこの作品:

$pBar.BackColor = [System.Drawing.color]::FromArgb(60,60,60) 

しかし、乱数を使用しないでください。

$rndmResult = ("'" + $rndm1 + ',' + $rndm2 + ',' + $rndm3 + "'") 
$pBar.BackColor = [System.Drawing.color]::FromArgb($rndmResult) 

は、私は非常に多くの異なる方法でそのコードを書いたが、どれもに思えません作業。私は$ rndmという変数をこのように書こうとしましたが、$rndm1 = ("'" + (Get-Random -minimum 50 -maximum 240) + "'") - 私はそれを回避することはできません。私は間違って何をしていますか?エラー出力は次のようになります。私は"'を配置する方法に応じて

ERROR: Cannot convert argument "argb", with value: "'117,56,167'", for "FromArgb" to type "System.Int32": "Cannot convert value "'117,56,167'" to type "System.Int32".

または

ERROR: Cannot convert value "," to type "System.Int32". Error: "The input string had invalid format."

ここでPowerShellのスタジオ2016

+2

'[System.Drawing.color] :: FromArgbは($ rndm1、$ rndm2、$ rndm3)'罰金 –

答えて

2

、あなたは3つの異なる整数渡している:直接整数を渡し、代わりに

$rndmResult = ("'" + $rndm1 + ',' + $rndm2 + ',' + $rndm3 + "'") 
$pBar.BackColor = [System.Drawing.color]::FromArgb($rndmResult) 

:あなたは、文字列を渡している、ここで

$pBar.BackColor = [System.Drawing.color]::FromArgb(60,60,60) 

を:

$pBar.BackColor = [System.Drawing.color]::FromArgb($rndm1,$rndm2,$rndm3) 
このステップでは
+0

ああ作品は、説明のためのおかげで。それはおそらく私が試したことのない唯一のもの... :)もう一度 - ありがとう! – MadsTheMan

1

$rndmResult = ("'" + $rndm1 + ',' + $rndm2 + ',' + $rndm3 + "'") 

あなたは文字列'156,93,194'を作成する(と仮定します。Get-ランダム番号156、93および194を生成しました)。

FromArgb()は、1つの文字列を引数としてとるオーバーロードはありません。

代わりに直接functinoに値を渡します

[System.Drawing.color]::FromArgb($rndm1,$rndm2,$rndm3) 
+0

私はFromArgb()が引数として文字列を取ることができなかったことを知りませんでした。それを指摘してくれてありがとう。 – MadsTheMan

+2

@MadsTheMan今後参照するために、この '[System.Drawing.Color] :: FromArgb'のように大括弧なしでメソッド名を入力し、プロンプトでenterキーを押すか、[MSDNのドキュメント](https: //msdn.microsoft.com/en-us/library/system.drawing.color.fromargb(v=vs.110).aspx)メソッドの有効なオーバーロードを確認する場合 –

+0

ありがとう、私は間違いなくそれを使用します今。 :) – MadsTheMan

関連する問題