2013-06-08 3 views
0

내가 PowerShell의 동적 GUI를 구축하지만 일부 데 문제가 개체는파워 쉘 동적 GUI

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

내 모든 버튼을 $의 arrbuttons 배열에있는 내 모든 텍스트 상자중인 현재 디렉토리에 폴더를 기반으로 생성됩니다 $ arrboxes array $ i를 0으로 설정하고 끝에 추가하지 않으면 모든 것이 정상적으로 작동하지만 텍스트가 항상 첫 번째 텍스트 상자에 올바르게 도착합니까? 하지만 끝에 추가 할 때 속성 텍스트를 찾을 수 없다는 예외가 발생합니다.

내가 달성하고자하는 모든 것은 버튼 텍스트 상자와 각 행에 대한 스톱워치가있는 동적 GUI를 만드는 방법에 따른 작은 문제이지만 역동적 인 스톱워치를 만드는 방법에 대해서는 잘 모르겠습니다. 스크립트는 개별 버튼을 눌렀을 때 어떤 스톱워치가 멈추고 시작 하는지를 이해합니다.

텍스트 상자, 시작, 정지, 당신은 '틱 톡'같은 것을 말할 것이다 시작 텍스트 상자를 누를 때와 정지를 경과 시간을 누를 때 너무 것이다 얻을

텍스트 상자, 시작, 중지를 초기화합니다 올바른 텍스트 상자에 표시하십시오.

답변

0

는 여기가 좋을 것 무엇 :

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

나는 PS에서 윈도우 폼 응용 프로그램을 가지고, 나는 도구 모음에 버튼에 액세스 할 항목() 메소드를 사용합니다. 현재 배열 인덱싱이 필요한 경우 .item($_)[$_]으로 바꿉니다.

메서드 호출 getclosure() add_click이 호출 될 때 $ _ 값이 GUI가 표시 될 때까지 "보존"되도록하는 것이 필요합니다. 그렇지 않으면 GUI가 표시 될 때 색인이 $ i 값을 갖는 상자 (분명히 0 임) 만 Text 구성원을 가져옵니다.