【问题标题】:Powershell Dynamic GUIPowershell 动态图形用户界面
【发布时间】:2013-06-04 13:10:44
【问题描述】:

我正在 Powershell 中构建动态 GUI,但遇到了一些问题 对象是根据当前目录中的文件夹创建的

$i = 0 
$arrbuttons | %{
$_.add_Click({$arrboxes[$i].Text = "hello"})
$i++
}

我所有的按钮都位于 $arrbuttons 数组中,我所有的文本框都位于 $arrboxes 数组中 如果我将 $i 设置为 0 并且最后不添加一切正常,但文本总是出现在第一个文本框中,对吗?但是当我最后添加时,我得到一个异常,说找不到属性文本。

我想要实现的只是在构建带有按钮文本框和每行秒表的动态 GUI 的过程中的一个小问题,但我不确定如何动态创建秒表并制作脚本了解按下各个按钮时要停止和启动哪个秒表。

文本框、开始、停止、重置

文本框、开始、停止、重置

你明白了,所以当按下开始时文本框会说“滴答声”,当按下停止时,经过的时间将显示在正确的文本框中。

【问题讨论】:

    标签: c# winforms powershell powershell-2.0


    【解决方案1】:

    以下是我的建议:

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

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

    注意方法调用getclosure() 这是必要的,以便在调用 add_click 时 $_ 的值“保留”到显示 GUI 时。否则,只有在显示 GUI 时,其索引恰好具有 $i 值(显然是 0)的框才会设置其 Text 成员。

    【讨论】:

      猜你喜欢
      • 2016-01-30
      • 2021-11-19
      • 2010-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-18
      • 2013-01-23
      • 1970-01-01
      相关资源
      最近更新 更多