Windows 窗体 - 单击按钮将数据添加到列表视图[重复]

2023-12-15

我有一个 winform 应用程序,点击后会填充一些数据$button_UpdateTS,如何添加存储在变量中的数据,单击该按钮后可用?

我想要在列表视图中显示的数据存储在一个名为的数组中$results

$button_UpdateTS = New-Object System.Windows.Forms.Button
$button_UpdateTS.Location = New-Object System.Drawing.Size(15, 954)
$button_UpdateTS.Size = New-Object System.Drawing.Size(320, 32)
$button_UpdateTS.TextAlign = "MiddleCenter"
$button_UpdateTS.Text = “Update Tasksequence”
$button_UpdateTS.Add_Click( { $Results = Set-DynamicVariables 
-Manufacturer "$($listview_Vendor.SelectedItems)" 
-TSPackageID "$($ListView_Tasksequences.SelectedItems.SubItems[1].Text)" -WhatIf })
    $Form.Controls.Add($button_UpdateTS)

这给了我:

$Results = 
SKUNotExistsDriverName    : XPS Notebook 9560
SKUNotExistsDriverID      : PS10053F
SKUNotExistsDriverSKU     : 07BE
SKUNotExistsDriverVersion : A12
SKUNotExistsBIOSName      : XPS Notebook 9560
SKUNotExistsBIOSID        : PS10053E
SKUNotExistsBIOSSKU       : 07BE
SKUNotExistsBIOSVersion   : 1.15.0

这是我希望将其存储在的列表:

$Global:listview_NotExists_SKU = New-Object System.Windows.Forms.ListView
$listview_NotExists_SKU.Location = New-Object System.Drawing.Size(515, 670)
$listview_NotExists_SKU.Size = New-Object System.Drawing.Size(486, 235)
$listview_NotExists_SKU.View = "Details"
$listview_NotExists_SKU.FullRowSelect = $true
$listview_NotExists_SKU.MultiSelect = $true
$listview_NotExists_SKU.Sorting = "None"
$listview_NotExists_SKU.AllowColumnReorder = $true
$listview_NotExists_SKU.GridLines = $true
$listview_NotExists_SKU.Add_ColumnClick( { SortListView $this $_.Column })
$Form.Controls.Add($listview_NotExists_SKU)

我尝试使用此功能,但不起作用:

Function Get-Results {
        ForEach ($Result in $Results) {
            $listview_NotExists_SKU.Items.Add($Result) 
       }
}

$Form.Add_Shown( { $Form.Load; Get-results })

Because 添加了事件处理脚本块,例如.Add_Click()运行在child调用者的范围,分配给变量$Results there ($Results = ...) 创建一个作用域局部多变的设置事件处理程序的范围和随后调用的事件处理程序都看不到。

To create a variable in the script scope, which subsequently invoked event handlers can see as well[1], use the $script: scope specifier:

$button_UpdateTS.Add_Click( { $script:Results = ... } )

Note:

  • If the scope in which the event handlers are set up isn't the script scope (e.g., if the code is inside a function) and you want to more generically reference that scope from within an event handler, use Set-Variable -Scope 1 -Name Results -Value ..., which targets the respective parent scope.[1]

  • An alternative to setting a variable in the parent scope explicitly is to use a hashtable defined in the parent scope whose entries can be used in lieu of variables that the event-handler script blocks can modify too.[2] See this answer for an example.


[1] For more information about scopes in PowerShell, see the bottom section of this answer.

[2] This technique works, because even though the variable containing the hashtable is defined in the parent scope, the child scope can access its value and modify the entries of the referenced hashtable object rather than the variable itself.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Windows 窗体 - 单击按钮将数据添加到列表视图[重复] 的相关文章

  • 有没有更快的方法来使用Powershell解析Excel文档?

    我正在与一个接口MS Excel文件通过Powershell 每个 Excel 文档可能有大约 1000 行数据 目前这个脚本似乎读取了Excel文件并以每 0 6 秒 1 条记录的速率将值写入屏幕 乍一看 这似乎非常慢 这是我第一次阅读E
  • 对 CSV 文件中的列进行分组并连接另一列的值

    我刚刚开始使用 PowerShell 在任何地方都找不到这个问题的答案 尝试编写一个脚本来导入 CSV 文件并搜索该文件以查看是否有任何名称相同 如果名称相同 我想将所有这些值写在同一行上 并且只显示名称一次 例如 Name Number
  • 如何以编程方式对 WebBrowser 控件安全警报回答“是”

    我正在使用 WebBrowser 控件以编程方式访问单个网站 但每当我登录时 我都会收到此证书安全警报 由于我信任该网站 并且我还需要以编程方式自动登录 因此此对话框会妨碍我 我搜索了解决方案并发现一个和我类似的问题 https stack
  • Windows 窗体:如果文本太长,请添加新行到标签

    我正在使用 C 有时 从网络服务返回的文本 我在标签中显示 太长 并且会在表单边缘被截断 如果标签不适合表单 是否有一种简单的方法可以在标签中添加换行符 Thanks 如果您将标签设置为autosize 它会随着您输入的任何文本自动增长 为
  • 如何在文本框中插入图像

    有没有办法在文本框中插入图像 我正在开发一个聊天应用程序 我想用图标图像更改值 等 但我找不到如何在文本框中插入图像 Thanks 如果您使用 RichTextBox 进行聊天 请查看Paste http msdn microsoft co
  • PreviewKeyDown 不会在 ElementHost 中针对 Tab 和箭头键触发

    我在 Winforms ElementHost 中有一个 WPF 窗口 我的窗口上的 Tab 键和箭头键不会触发 KeyDown 和 PreviewKeyDown 事件 KeyUp 和 PreviewKeyUp 似乎工作正常 Preview
  • 如何对数据集运行查询?

    我有一个DataSet named dsView包含数据 这是我用来读取 XML 的代码 dsView new DataSet dsView ReadXml c MyXml xml 该数据有一个名为MEN有字段Fname and Lname
  • 模块函数中使用的 $_ 变量为空 (PowerShell)

    这里有一个问题要问你 我有这个功能 function Set DbFile param Parameter ValueFromPipeline true System IO FileInfo InputObject Parameter Va
  • 如何让 PowerShell 等待 Invoke-Item 完成?

    如何让 PowerShell 等待 Invoke Item 调用完成 我正在调用一个不可执行的项目 因此我需要使用 Invoke Item 来打开它 只需使用Start Process wait 例如Start Process wait c
  • 在运行时从 DataGridView 动态创建 RDLC 报告

    我有一个表格AdvancedSearchForm with a 数据网格视图控制dgrData和一个按钮Report在 C Winform 中 单击按钮时Report 我希望有一个表格报表视图控件显示与 DataGridView 中相同的列
  • 区分注册表项和值路径

    是否有相当于 System IO DirectoryInfo and System IO FileInfo 用于区分注册表项和值 我想评估一条路径并为用户记录该路径的最终目标是什么 到目前为止 这就是我所拥有的 而且有点丑陋 path Re
  • Microsoft Teams 中私人消息的传入 Webhook

    我可以从 C 应用程序或 PS 脚本创建传入 Webhook 将 JSON 消息发送到 MSFT 文档所解释的通道 但是 我想使用传入的 webhook 将 JSON 消息从我的应用程序发送到用户 作为私人消息 就像 Slack 允许的那样
  • 将标签文本的一部分设置为粗体

    有什么办法可以使一部分label text要大胆吗 label text asd string 想要string部分要加粗 有可能吗 这怎么办 下面的类说明了如何通过覆盖来做到这一点OnPaint in the LabelWinForms
  • “(”字符在 PowerShell 中不起作用

    我无法让它发挥作用 它不喜欢 字符 我如何解决它 Dir Rename Item NewName name replace 如何在 PowerShell 中处理这种类型的特殊字符 vonPryze 对问题的确切原因做了很好的解释 但还有一个
  • PowerShell 中的变量作用域

    PowerShell 的一个遗憾是函数和脚本块是动态作用域的 但另一件事让我感到惊讶的是 变量在内部作用域内表现为写时复制 array g function foo array h Write Host array array s Writ
  • 从 Powershell 脚本安装 Python

    当以管理员身份从 PowerShell 命令行运行以下命令时 可以在 Windows 11 上成功安装 Python c temp python 3 11 4 amd64 exe quiet InstallAllUsers 0 Instal
  • 如何使用 powershell v1 发送带有附件的电子邮件?

    如何使用 powershell v1 发送带有附件的电子邮件 这个功能对我来说效果很好 function send emailwithattachment string subject string body object to Objec
  • 使用 New-WebServiceProxy 在 PowerShell 中添加自定义 SOAP 标头

    在 C 中我可以执行以下操作 var header MessageHeader CreateHeader MyHeader http mynamespace Header value OperationContext Current Out
  • Powershell 3.0 - 工作流程 - 限制并行执行数量

    我正在从模板克隆 ESX 服务器上的虚拟机 简化的代码如下所示 Workflow Create VM List 1 500 foreach parallel Elem in List Create VM Configure created
  • 以编程方式更新 Wifi 网络

    我正在尝试创建一个程序 当某个 wifi 网络在范围内时 该程序会连接到该网络 即使已经连接到另一个 wifi 也是如此 我在用着简单Wifi https github com DigiExam simplewifi 基本上效果很好 除了在

随机推荐

  • 使用 .htaccess 附加参数

    我正在努力处理 htaccess 重写命令 我拥有的是 RewriteCond HTTP HOST www mywebsite co uk RewriteCond REQUEST URI subfolder RewriteRule subf
  • D3.js:根据值更改条的颜色[关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我一直在尝试 d3 js 条形图 我想根据 y 轴的值更改颜色 如何实现这一点 我尝试添加线性渐变 但后来我失去了对它的控制 我正在编写的代码基于此 http bost ocks
  • 切片和数组有什么区别?

    为什么两者都是 u8 and u8 3 在这个例子中好吗 fn main let x u8 1u8 2 3 println x let y u8 3 1u8 2 3 println y 事实是 T n 可以强迫 T 这是让他们可以忍受的方面
  • 无法使用 PHP 执行多个 MariaDB 查询

    我在 MariaDB 中执行 SQL 查询时遇到了一个小问题 所有 PHP 变量都不为空 我想同时执行两个查询 在 MySQL 中它可以工作 但在 MariaDB 服务器中我不能 因为我收到错误 我有一个查询 UPDATE users SE
  • 如何使用vb.net表单删除MS Access数据库的记录以及如何使用vb.net表单进入受密码保护的数据库

    我是 vb net 的新手 而且还是一名学生 我创建了一个表单来在 vb net 中输入学生注册详细信息 以满足教育需求 我使用 MS Access 2010 创建了一个数据库并将其链接到我的 vb 表单 它工作正常 我可以通过 vb ne
  • C# 有 Handles 关键字吗?

    Protected Sub Menu1 MenuItemClick ByVal sender As Object ByVal e As System Web UI WebControls MenuEventArgs Handles Menu
  • 累积和的条件计数数据框 - 循环列

    我试图根据每个值的符号在数据帧内重置来计算累积和 这个想法是对每一列分别进行相同的练习 例如 假设我有以下数据框 df pd DataFrame A 1 1 1 1 1 1 1 1 1 1 1 1 B 1 1 1 1 1 1 1 1 1 1
  • Flutter(Dart):渲染引起的异常/RenderFlex溢出

    我遇到 Flutter Dart RenderFlex 像素溢出问题 渲染库的一个例外 如何管理或应用滚动功能到我的应用程序页面视图 并避免 Flutter 的渲染异常 并显示以下消息 RenderFlex 底部溢出了 28 个像素 如果您
  • 如何编写单个 LINQ to XML 查询来迭代所有子元素以及子元素的所有属性?

    我正在开发 asp net 移动应用程序 我使用 XML 作为数据库 我正在 net 中使用 LINQ to XML 查询 XML 以访问所需的元素和属性 我的 XML 文件中有以下部分
  • Vim 中 Tab 键 == 4 个空格并在大括号后自动缩进

    我该如何制作vi Vim永远不要使用制表符 将空格转换为制表符 不好 使制表符键 4 个空格 并在大括号块后自动缩进代码 例如Emacs does 另外 如何保存这些设置 这样我就不必再次输入它们 我见过与此相关的其他问题 但它似乎总是与我
  • Jmeter是否支持客户端javascript

    Jmeter是否支持客户端javascript 我能够录制脚本 但重播日志没有显示任何内容 JMeter 不是一个浏览器 它是一个负载生成工具 它可以产生 HTTP 流量 但它实际上并不解析 执行加载页面附带的 JavaScript 如果您
  • 在 Switch Case 中声明 UI 对象

    我读过有关开关盒范围的内容 跳转标签等等 但是 SO 这里建议的解决方案似乎意味着添加花括号可以避免这个问题 然而 这似乎仍然不起作用 switch objectType case label label is an integer con
  • 删除NiFi中的空属性

    因为这个问题仍未解决 我有一个EvaluateJsonPath有时输出带有空字符串的属性的处理器 是否有直接的方法从流程文件中删除属性 我尝试使用UpdateAttributes处理器 但它只能根据匹配属性名称进行删除 我需要匹配属性的值
  • 类的事件监听器?

    我有一个引用 Id 的 EventListener 它运行良好 唯一的问题是我至少有十几个需要引用此 EventListener 的地方 所以我不想有十几个完全相同但具有不同 Id 的脚本 有没有办法让 EventListener 引用一个
  • 如何在谷歌地图上显示浮动视图,就像谷歌地图中的搜索栏一样

    我已经成功实现了地图 但我找不到任何与此相关的帮助 这是我对谷歌地图片段的实现 SupportMapFragment fragment private GoogleMap map FragmentManager fm Override pu
  • 将 UTF8 转换为 std::wstring 的跨平台方法 [重复]

    这个问题在这里已经有答案了 可能的重复 STL 中 UTF8 与宽字符的转换 我知道如何使用将 UTF8 转换为 std wstring多字节到宽字符 std wstring utf8to16 const char src std vect
  • 8086中的物理地址是如何产生的?

    In the 8086架构中 内存空间大小为 1 MiB 并分为每个最大 64 KiB 的逻辑段 即它有20地址线因此使用以下方法 数据段寄存器左移4位然后添加到偏移寄存器 我的问题是 尽管所有寄存器都只有 16 位 但我们如何进行移位操作
  • 刷新服务引用会更新app.config

    每次我对 WS 进行更改并更新 Visual Studio 中的引用时 VS 都会使用其他不必要的信息覆盖我的 app config 因此 当我之后启动客户端时 我收到此错误 处理标头时发现错误 代码生成器所做的更改是remove每个绑定中
  • Xpage, createForm=false 禁用链接上的 SSJS 事件?

    我问这个只是为了在这里澄清 我不小心将 createForm 属性设置为 false 然后我期望一个链接事件应该打开另一个页面 但不再起作用 这是 SSJS 事件的预期行为吗 当您禁用表单创建时在链接中 正如 Per 提到的 所有事件都需要
  • Windows 窗体 - 单击按钮将数据添加到列表视图[重复]

    这个问题在这里已经有答案了 我有一个 winform 应用程序 点击后会填充一些数据 button UpdateTS 如何添加存储在变量中的数据 单击该按钮后可用 我想要在列表视图中显示的数据存储在一个名为的数组中 results butt