我正在使用PowerShell构建动态GUI但遇到一些问题 基于当前目录中的文件夹
创建对象$i = 0
$arrbuttons | %{
$_.add_Click({$arrboxes[$i].Text = "hello"})
$i++
}
我的所有按钮都位于$ arrbuttons数组中,而我的所有文本框都位于$ arrboxes数组中 如果我将$ i设置为0并且最后不添加一切正常但文本总是在第一个文本框中正确?但是当我在最后添加时,我得到一个例外,说无法找到属性文本。
我想要实现的是这只是一个小问题,一路上构建一个带按钮文本框和每行秒表的动态GUI,但我不确定如何动态创建秒表并制作脚本了解在按下各个按钮时停止和启动的秒表。
文本框,开始,停止,复位
文本框,开始,停止,复位
如果按下启动文本框,则会显示“tick tock”之类的内容,按下“停止”时,经过的时间将显示在正确的文本框中。
答案 0 :(得分:0)
以下是我的建议:
0..($arrbuttons.count) | % {
$arrbuttons.item($_).add_Click({$arrboxes.item($_).Text = "hello"}.getclosure())
}
我在PS中有一个Windows窗体应用程序,我必须使用item()方法来访问工具栏中的按钮。如果您的情况需要数组索引,请将.item($_)
替换为[$_]
。
请注意方法调用getclosure()
这是必要的,以便调用add_click时$ _的值被“保留”,直到GUI显示为止。否则,当显示GUI时,只有索引恰好具有$ i值的框 - 显然为0 - 将设置其Text成员。