giovedì 18 ottobre 2012

Aprire una form con c# una sola volta

L'apertura di una form da una applicazione in .net c# è semplice utilizzando ad esempio
FrmAudio form = new FrmAudio();
form.Show();
Ma per controllare che venga aperta una sola volta senza ricorrere a strategie varie, tipo disabilitare un pulsante dopo averla lanciata, si può utilizzare il seguente esempio (in questo caso applicato all'evento di un pulsante button):
private void BtnTest_Click(object sender, EventArgs e){
 if (CnsUtilMisc.IsNumeric(txtScript.SelectedText)){
  FrmAudio form = new FrmAudio();
  //check existing form
  foreach (Form frmTest in System.Windows.Forms.Application.OpenForms)
 if (frmTest is FrmAudio)
  return;
  form.Show();
 }
}