2010-10-14 16 views
6

Uno dei miei colleghi è venuto da me con un problema interessante.Visualizzazione della finestra di dialogo di WinForms con lo stato attivo da script PowerShell

Sta visualizzando un modulo WinForms da uno script PowerShell e mentre il modulo si apre correttamente, non viene attivato. Invece la finestra di comando di PowerShell mantiene lo stato attivo finché il modulo non viene fatto esplicitamente clic.

Lo script viene eseguito dalla riga di comando di PowerShell utilizzando. \ ScriptName.ps1.

Abbiamo provato varie combinazioni di dlg.ShowDialog() (con e senza passare $ this), dlg.Show(), dlg.Focus(), ecc. Senza fortuna.

Qualcuno sa come assegnare il focus del modulo quando viene visualizzato?

+0

sta facendo qualsiasi altra cosa oltre la semplice chiamando Show()? Immagino che la finestra di comando rubi di nuovo l'attenzione. Prova ShowDialog() per esempio. –

+0

Questo è quello che mi aspettavo che il problema fosse quando me lo spiegava, ma in realtà stava già usando ShowDialog(). Il problema si è rivelato più profondo, ma vedere la mia risposta qui sotto per la soluzione trovata. –

risposta

9

Questo è quanto c'è stato assegnato a lavorare (è quello che ci mancava la prima linea):

$WinForm.Add_Shown({$WinForm.Activate()}) 
$WinForm.ShowDialog($this) | out-null 
+0

Definitivamente segna come risposta :) – Jaykul

Problemi correlati