我有一个powershell 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文件,因为它是来自另一个程序的输出
答案 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
如果没有,则默认为单行。