Powershell Dynamic GUI

本文关键字:GUI Dynamic Powershell | 更新日期: 2023-09-27 18:17:43

我正在powershell中构建一个动态GUI,但有一些问题对象是基于当前目录

中的文件夹创建的
$i = 0 
$arrbuttons | %{
$_.add_Click({$arrboxes[$i].Text = "hello"})
$i++
}

我所有的按钮都位于$arrbuttons数组和我所有的文本框在$arrboxes数组如果我设置$i为0,不添加在结束一切工作正常,但文本总是得到在第一个文本框对吗?但是当我在末尾添加时,我得到一个异常,说无法找到属性文本。

我想要实现的是这只是一个小问题,沿着建立一个带有按钮文本框和每行秒表的动态GUI的方式,但我不确定如何动态创建秒表,并使脚本理解哪个秒表停止和启动时按下单个按钮。

文本框,启动、停止、复位

文本框,启动、停止、复位

你得到它,所以当按下开始文本框会说一些像"滴答",当按下停止经过的时间将显示在正确的文本框。

Powershell Dynamic GUI

我的建议是:

0..($arrbuttons.count) | % {
  $arrbuttons.item($_).add_Click({$arrboxes.item($_).Text = "hello"}.getclosure())
}

我有一个Windows窗体应用程序在PS,我必须使用item()方法来访问工具栏中的按钮。如果在您的情况下需要数组索引,则将.item($_)替换为[$_]

注意getclosure()方法调用,这是必要的,以便在add_click被调用时$_的值被"保留",直到GUI显示。否则,在显示GUI时,只有索引恰好为$i(显然为0)的框才能获得其Text成员集。