Mouse event don't work after first timer Tick

后端 未结 2 616
余生分开走
余生分开走 2021-01-28 06:25

I\'m using powershell to develop a little tool with graphic interface and I\'m going crazy with this issue...

For example: I have a label on a form that display \"real-t

相关标签:
2条回答
  • 2021-01-28 07:02

    I have removed 3 typos in the code, and it seems to work (I still get the popup after 3 seconds have elapsed) :

    function GoogleStatus ($Label) {
        $Google = "www.google.com"
    
        if(Test-Connection -ComputerName $Google -Count 1 -Quiet) {
            $Label.Text = "Yes" # missing $ sign here
        } else {
            $Label.Text = "No" # missing $ sign here
        }
    }
    
    function HelloMsg {
        [System.Windows.Forms.MessageBox]::Show("Hello","Funny Window",0,32)
    }
    
    [void][Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
    
    #Forms
    $Form = New-Object System.Windows.Forms.Form
    $Form.Size = '150, 220' 
    
    $Label = New-Object System.Windows.Forms.Label  
    $Form.Controls.Add($Label)
    $Label.Location = '10, 30'
    $Label.Size = '75, 20'
    $Label.Add_Click({HelloMsg})
    
    #Timer Init
    $Timer = New-Object 'System.Windows.Forms.Timer'
    $Timer.Interval = 3000
    $Timer.Add_Tick({ GoogleStatus $Label }) # missing $ sign here
    $Timer.Enabled = $True
    
    #Show Interface
    $Form.ShowDialog() 
    
    0 讨论(0)
  • 2021-01-28 07:19

    The timeout value for test-connection has to be less than your timer interval. Thank you @Eric Walker https://stackoverflow.com/users/4270366/eric-walker

    0 讨论(0)
提交回复
热议问题