単純なWinFormsフォームオブジェクトにラベルを添付して、複数のハッシュテーブルの形式で単純なバックエンドからテキストを読み込みます(ハッシュテーブル、実際に)。PowerShellのWinFormsラベルに複数形式のハッシュテーブルを表示する方法
私は、次の形式で、それにプリロード情報を持っているテキストファイルがあります。これは私が情報を処理することができます
$hashArray = Get-Content $env:ProgramData\Path\BackEnd.txt | Out-String | iex
:私はそうのような変数に追加
@{Key1='Value1x'; Key2='Value1y'; Key3='Value1z'}
@{Key1='Value2x'; Key2='Value2y'; Key3='Value2z'}
@{Key1='Value3x'; Key2='Value3y'; Key3='Value3z'}
をハッシュテーブルと配列(並べ替え)の両方としてここで
は、利便性のための私のWinFormのモックアップです。その形式で
[void][Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms')
$form = New-Object Windows.Forms.Form
$form.Size = '850,500'
$form.StartPosition = [Windows.Forms.FormStartPosition]::CenterScreen
$hTA = New-Object Windows.Forms.Label
$hTA.Size = '500,400'
$hTA.Location = '50,50'
$ht = Get-Content $env:ProgramData\Path\BackEnd.txt | Out-String | iex
$hTA.Text = "{0} {1} {2}" -f $ht.Key1[0], $ht.Key2[0], $ht.Key3[0]
"{0} {1} {2}" -f $ht.Key1[1], $ht.Key2[1], $ht.Key3[1]
"{0} {1} {2}" -f $ht.Key1[2], $ht.Key2[2], $ht.Key3[2]
$form.Controls.Add($hTA)
$form.Add_Shown({$form.Activate()})
$form.ShowDialog()
、表示された唯一のものは、次のとおりです。
Value1x Value1y Value1z
私はそれはそれで、複数行の問題である可能性があり考え出し特定のコントロール項目(Windows.Forms.Label
)、$hTA.Text
の代入を複数行に変更しましたHere-String
:
$hTA.Text = @"
Test1
Test2
Test3
"@
これは正しく表示され、各行が表示されます。
私はドロップラインエスケープ文字(`n
)を試みましたが、違いはありませんでした。
私はそれがなぜこれをしているのかよくわからないので、私はそうしています。
ひどい場合、私はいつもいくつかの単一行のラベルオブジェクトを作成し、それらを重ね合わせて重ねることができますが、それが最善の方法だとは思われません。