arrays - Powershell:选择 DataGridView 行

标签 arrays powershell datagridview

到目前为止,我有这个代码。

$form = New-Object System.Windows.Forms.Form
$form.Size = New-Object System.Drawing.Size(900,600)
$dataGridView = New-Object System.Windows.Forms.DataGridView
$dataGridView.Size=New-Object System.Drawing.Size(800,400)
$go = New-Object System.Windows.Forms.Button
$go.Location = New-Object System.Drawing.Size(300,450)
$go.Size = New-Object System.Drawing.Size(75,23)
$go.text = "Select"
$form.Controls.Add($go)
$form.Controls.Add($dataGridView)


$dataGridView.ColumnCount = 4
$dataGridView.ColumnHeadersVisible = $true
$dataGridView.Columns[0].Name = "Name"
$dataGridView.Columns[1].Name = "ID"
$dataGridView.Columns[2].Name = "Description"
$dataGridView.Columns[3].Name = "Memory"

$dataGridView.Columns[0].width = 240

get-process | foreach {
    $dataGridView.Rows.Add($_.Name,$_.ID,$_.Description,$_.WorkingSet) | out-null
}

$go.Add_Click({
    $selectedRow = $dataGridView.CurrentRowIndex
write-host $selectedRow
})

[void]$form.ShowDialog() 

它只是获取进程名称、ID 等属性并将它们放入 DataGridView 中的预定义标题中。

我的问题是我想通过 $selectedRow = $dataGridView.CurrentRowIndex 查看我单击的行并将其输出到控制台。相反,当按下“选择”按钮时,会向终端输出一个空白字符串。

最佳答案

您还可以通过以下方式获取行索引:

$dataGridView.CurrentCell.RowIndex

$dataGridView.SelectedRows[0].Index

您可能还想将网格 MultiSelect 属性设置为 $false。目前它允许多行选择。要考虑的另一件事是将 SelectionMode 属性设置为“FullRowSelect”。填充网格时,选择的是第一列,而不是整行。

关于arrays - Powershell:选择 DataGridView 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11493700/

相关文章:

PHP:从数组中获取 key ?

powershell - 使用 PowerShell 复制右键单击文件夹并选择属性

c# - 如何使用 BindingSource 在 DataGridView 的单列中绑定(bind)导航属性(二级模型的两个属性)?

时间:2019-03-08 标签:c#datagridviewredcross

c++ - 合并排序 C++ 实现,无法识别代码中的错误

Javascript - 数组覆盖

java - Java中不同维度的二维数组相乘时出现问题

整数的 Powershell 输入验证

windows - Powershell 相当于 Linux 超时

winforms - DataGridViewColumn.DataPropertyName 属性