본문 바로가기
파워쉘(Powershell)/파워쉘 GUI

파워쉘 라디오버튼(Powershell Radio button)

by 예배파 2024. 3. 27.

라디오 버튼은 사용자로부터 여러 개 선택지 중 하나를선택받는데 사용합니다

 

사용방법

Add-Type -AssemblyName System.windows.Forms

$form= New-Object System.Windows.Forms.Form    
$form.Size = '200,200'                         

$rbYellow = New-Object system.Windows.Forms.RadioButton
$rbYellow.text = "Yellow"
$rbYellow.location = '10,10'

$rbRed = New-Object system.Windows.Forms.RadioButton
$rbRed.text = "Red"
$rbRed.location = '10,40'

$form.Controls.AddRange($($rbYellow,$rbRed))
$form.ShowDialog()

 

 

 

 

 

클릭(Click) 이벤트 사용 방법

 

라디오 버튼을 선택하면 클릭(Click)이벤트가 발생합니다.

아래의 예제는 라디오 버튼 클릭 이벤트 핸들러를 만든 예제 입니다

라디오 버튼이 클릭되면, 폼의 배경색(BackColor)를 변경합니다 

Add-Type -AssemblyName System.windows.Forms

$form= New-Object System.Windows.Forms.Form    
$form.Size = '200,200'                         

$rbYellow = New-Object system.Windows.Forms.RadioButton
$rbYellow.text = "Yellow"
$rbYellow.location = '10,10'

$rbRed = New-Object system.Windows.Forms.RadioButton
$rbRed.text = "Red"
$rbRed.location = '10,40'

$rbYellow.Add_Click({
    $form.BackColor = 'Yellow'
})

$rbRed.Add_Click({
    $form.BackColor = 'Red'
})

$form.Controls.AddRange($($rbYellow,$rbRed))
$form.ShowDialog()

Yellow 선택
Red 선택

 

 

 

 

Checked 속성값 사용해서 선택된 라디오 버튼 찾기

 

라디오 버튼을 선택하고, 버튼을 클릭하면 현재 선택된 라디오 버튼을 알려줍니다  

Add-Type -AssemblyName System.windows.Forms

$form= New-Object System.Windows.Forms.Form    
$form.Size = '200,150'                         

$rbYellow = New-Object system.Windows.Forms.RadioButton
$rbYellow.text = "Yellow"
$rbYellow.location = '10,10'

$rbRed = New-Object system.Windows.Forms.RadioButton
$rbRed.text = "Red"
$rbRed.location = '10,40'

$btn = New-Object system.Windows.Forms.Button
$btn.text = "클릭된 Radio button 찾기"
$btn.AutoSize = $true
$btn.Location = '10,70'

$btn.Add_Click({
    if($rbYellow.Checked){
        Write-host "Yellow 버튼이 선택되어 있습니다"
    }

    if($rbRed.Checked){
        Write-host "Red 버튼이 선택되어 있습니다"
    }
})

$form.Controls.AddRange($($rbYellow,$rbRed,$btn))
$form.ShowDialog()