如何使用Powershell将ComboBox选定文件附加到TextBox?

丁苯橡胶

我有一个带组合框和文本框的GUI。我需要将文本框的输出更新为考虑组合框所选的文件。

我试过了 但是文本框中的输出不正确。任何人都可以帮忙。谢谢

$Disk = New-Object system.Windows.Forms.ComboBox
$Disk.AutoSize = $true
$Disk.DropDownStyle = "DropDownList"

$Disk.Items.AddRange((get-partition|?{$_.DriveLetter}|select DiskNumber ))
$SelectedFile= {
    $DiskSelected = $Disk.SelectedItem
    Write-Host "Disk Selected: $DiskSelected"

    $DiskNum = $DiskSelected -split "@{DiskNumber="
    $DiskNumber = $DiskNum -split "}"
    Write-Host "Disk Number: $DiskNumber"

    $TextBox1.AppendText((Get-Disk -Number $DiskNumber))
}

$Disk.add_SelectedIndexChanged($SelectedFile)
$Disk.DisplayMember = 'Name'

$TextBox1 = New-Object system.Windows.Forms.TextBox
$TextBox1.multiline = $true
$TextBox1.BackColor = "#F5F5F5"

文本框中的输出是这样的

MSFT_Disk (ObjectId = "{1}\\SSXX\root/Microsoft/Windows/Stor...) MSFT_Disk (ObjectId = "{1}\\SSXX\root/Microsoft/Windows/Stor...)

更新

现在,我可以将磁盘信息带到文本框中,但是如果我在组合框中选择了另一个项目,文本框是否可以不更新。

$Disk = New-Object system.Windows.Forms.ComboBox
$Disk.AutoSize = $true
$Disk.DropDownStyle = "DropDownList"

$Disk.Items.AddRange((get-partition|?{$_.DriveLetter}| select DiskNumber )) 
$SelectedFile = {
    $DiskSelected = $Disk.SelectedItem
    Write-Host "Disk Selected: $DiskSelected"

    $DiskNum = $DiskSelected -split "@{DiskNumber="
    $DiskNumber = $DiskNum -split "}"
    Write-Host "Disk Number:$DiskNumber"
    Get-Disk | Where-Object -FilterScript {$_.Number -Eq "$DiskNumber"} | Select FriendlyName, BusType, Size | Export-Csv 'Temp.csv' -NoType
    $TextBox1.AppendText((Get-Content -Path ".\Temp.csv"))
}

$Disk.add_SelectedIndexChanged($SelectedFile)
$Disk.DisplayMember = 'Name'

$TextBox1 = New-Object system.Windows.Forms.TextBox
$TextBox1.multiline = $true
$TextBox1.WordWrap = $true
$TextBox1.BackColor = "#F5F5F5"
$textsize = ($width / 130)
$FontText = New-Object System.Drawing.Font("Calibri",$textsize,[System.Drawing.FontStyle]::Regular,[System.Drawing.GraphicsUnit]::Pixel)
$TextBox1.Font = $FontText
六丸

尝试这个。

using namespace System.Windows.Forms
Add-Type -AssemblyName System.Windows.Forms

$partitions = Get-Partition | where DriveLetter

########## Controls ##########

$comboBox1 =[ComboBox]@{
    Location = "10,10"
    AutoSize = $true
    DropDownStyle = "DropDownList"
    DisplayMember = "DriveLetter"
}
$comboBox1.Items.AddRange($partitions)

$textBox1 = [TextBox]@{
    Location = "10,50"
    Size = "900,300"
    Anchor = "Left,Right,Top,Bottom"
    Multiline = $true
    WordWrap = $false
    ScrollBars = "Both"
    BackColor = "#F5F5F5"
    Font = "Consolas,10"
}

$form = [form]@{ Size = "940,400" }
$form.Controls.AddRange(@($comboBox1, $textBox1))


########## EventHandlers ##########

$comboBox1.add_SelectedIndexChanged{
    $selectedPartition = $comboBox1.SelectedItem
    $TextBox1.Text = @(
        $selectedPartition.DriveLetter + ":"
        Get-Disk -Partition $selectedPartition | Format-List | Out-String
    )
}

# Show form
[void]$form.ShowDialog()

请注意,您选择的项目是一个对象,而不是字符串。


更新

尝试重写以下部分。
您可以通过$TextBox1.Text = ...代替来更新所有文本$TextBox1.AppendText()

$Disk.Items.AddRange((get-partition|?{$_.DriveLetter}| select -ExpandProperty DiskNumber)) 
$SelectedFile = {
    $DiskNumber = $Disk.SelectedItem
    Write-Host "Disk Number:$DiskNumber"
    $TextBox1.Text = Get-Disk $DiskNumber | Select FriendlyName, BusType, Size | Out-String
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Powershell中使用Get-ChildItem将文件附加到电子邮件

来自分类Dev

如何使用Python将新列附加到CSV文件?

来自分类Dev

如何使用sed将多行附加到文件?

来自分类Dev

如何使用Python将新列附加到CSV文件?

来自分类Dev

如何使用FileOutputStream将数据附加到pptx文件?

来自分类Dev

如何使用 SaveFileDialog 将数据附加到文件

来自分类Dev

如何使用python将多行附加到csv文件

来自分类Dev

如何使用jquery将多个文件附加到formdata中

来自分类Dev

如何使用不同的列将选定的列附加到df的pandas数据框中

来自分类Dev

使用 jquery 将选定的表单附加到表中?

来自分类Dev

使用sed将文本附加到文件

来自分类Dev

使用PowerShell将文本附加到文本文件中的某些值

来自分类Dev

将 powershell 脚本行附加到文件 .bat 中

来自分类Dev

如何使用python tarfile模块将文件附加到tar文件?

来自分类Dev

我们如何使用“ls”命令将文件列表从 FTP 附加到本地文件?

来自分类Dev

如何将jpg文件附加到rar文件中?

来自分类Dev

将文件附加到流时如何删除文件

来自分类Dev

使用cmd将文件日期附加到文件名

来自分类Dev

使用Sitecore Powershell将基本模板附加到模板

来自分类Dev

如何使用argparse将输入文件中的值附加到命令行选项?

来自分类Dev

如何使用Courier将文件附加到随AWS SES发送的电子邮件中?

来自分类Dev

如何将文件附加到html'file'元素以使用jquery / js上传?

来自分类Dev

如何使用$ .each将多个文件输入附加到FormData对象?

来自分类Dev

如何使用find将字符串附加到目录中的每个文件

来自分类Dev

使用babel,如何将一些代码附加到每个文件的顶部?

来自分类Dev

如何使用XLSX将一行附加到Excel文件?

来自分类Dev

如何使用Sendgrid和Multer将文件附加到电子邮件

来自分类Dev

如何使用openpyxl python将数据附加到指定行的excel文件中?

来自分类Dev

我如何知道使用PyPDF2将文件附加到我的PDF中?

Related 相关文章

  1. 1

    如何在Powershell中使用Get-ChildItem将文件附加到电子邮件

  2. 2

    如何使用Python将新列附加到CSV文件?

  3. 3

    如何使用sed将多行附加到文件?

  4. 4

    如何使用Python将新列附加到CSV文件?

  5. 5

    如何使用FileOutputStream将数据附加到pptx文件?

  6. 6

    如何使用 SaveFileDialog 将数据附加到文件

  7. 7

    如何使用python将多行附加到csv文件

  8. 8

    如何使用jquery将多个文件附加到formdata中

  9. 9

    如何使用不同的列将选定的列附加到df的pandas数据框中

  10. 10

    使用 jquery 将选定的表单附加到表中?

  11. 11

    使用sed将文本附加到文件

  12. 12

    使用PowerShell将文本附加到文本文件中的某些值

  13. 13

    将 powershell 脚本行附加到文件 .bat 中

  14. 14

    如何使用python tarfile模块将文件附加到tar文件?

  15. 15

    我们如何使用“ls”命令将文件列表从 FTP 附加到本地文件?

  16. 16

    如何将jpg文件附加到rar文件中?

  17. 17

    将文件附加到流时如何删除文件

  18. 18

    使用cmd将文件日期附加到文件名

  19. 19

    使用Sitecore Powershell将基本模板附加到模板

  20. 20

    如何使用argparse将输入文件中的值附加到命令行选项?

  21. 21

    如何使用Courier将文件附加到随AWS SES发送的电子邮件中?

  22. 22

    如何将文件附加到html'file'元素以使用jquery / js上传?

  23. 23

    如何使用$ .each将多个文件输入附加到FormData对象?

  24. 24

    如何使用find将字符串附加到目录中的每个文件

  25. 25

    使用babel,如何将一些代码附加到每个文件的顶部?

  26. 26

    如何使用XLSX将一行附加到Excel文件?

  27. 27

    如何使用Sendgrid和Multer将文件附加到电子邮件

  28. 28

    如何使用openpyxl python将数据附加到指定行的excel文件中?

  29. 29

    我如何知道使用PyPDF2将文件附加到我的PDF中?

热门标签

归档