Powershell GUI导入的文本文件缺少换行符/回车符

时间:2017-06-23 16:07:24

标签: powershell user-interface textbox

我有一个powershell GUI导入文本文件,并在单击按钮时将其显示在文本框中

但是,即使文本文件在文本框中显示时每行包含一个条目,它也都在一行...

文本文件如下所示 -

TXT

但是当我导入它时,它看起来像这样 -

GUI

这是我正在使用的代码 -

$button_hosts = New-Object system.windows.Forms.Button
$button_hosts.Text = "Hosts"
$button_hosts.Width = 60
$button_hosts.Height = 25
$button_hosts.location = new-object system.drawing.point(20,55)
$button_hosts.Font = "Microsoft Sans Serif,10"
$mydocs = [Environment]::GetFolderPath('MyDocuments')
$button_hosts.Add_Click({
    $textBox_hosts.Text = Get-Filename "$mydocs" txt
    $textBox_hostlist.Text = Get-Content $textBox_hosts.Text
})
$GUI.controls.Add($button_hosts)

知道如何让它显示相同的内容吗?我不能将任何额外的数据添加到txt文件,因为它是来自另一个程序的输出

3 个答案:

答案 0 :(得分:1)

设置lines属性,而不是text属性。

$textBox_hostlist.Lines = Get-Content $textBox_hosts.Text

答案 1 :(得分:0)

Get-Content一次读取一行内容并返回一组对象,每个对象代表一行内容。
这意味着您必须使用回车符和换行符加入集合:

(Get-Content $textBox_hosts) -Join "`r`n"

答案 2 :(得分:0)

对于WinForms TextBox,您是否将multiline属性设置为true?

https://msdn.microsoft.com/en-us/library/12w624ff(v=vs.110).aspx

如果没有,则默认为单行。