Visualizzazione dei risultati da 1 a 3 su 3

Discussione: [C#] e.Cancel = true;

  1. #1

    [C#] - Gestione Login

    Ciao a tutti, sto creando un form di login per la mia applicazione e voglio bloccare ogni possibilità di chiusura di tale Form (ALT+F4 e tasto X), tranne che da uno specifico bottone.

    Ho quindi provato a specificare "e.Cancel = true;" nell'evento FormClosing e funziona, se non fosse che dal pulsante "Annulla" dal quale voglio effettuare la chiusura del form, la chiusura non avviene.
    Ho provato ad utilizzare Application.Exit() e [B]this.Dispose()[B] ma comunque la chiusura non avviene.
    Consigli per forzare la chiusura?

  2. #2
    Imposta un flag tale per cui quando intendi uscire "per davvero" e.Cancel non viene impostato a True.
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Originariamente inviato da MItaly
    Imposta un flag tale per cui quando intendi uscire "per davvero" e.Cancel non viene impostato a True.
    Ok grazie, dopo averci ragionato un pochino ci sono riuscito.

    Il problema è che per una frazione di secondo, mi viene visualizzata anche la form successiva.
    Spiego meglio: ho più di tre form, ma il problema si pone sulle prime tre che sono, in ordine di "presentazione":

    - Login (se premo annulla deve uscire, altrimenti se il login è valido mi si deve chiudere ed aprire la successiva);
    - Form2 (altro login, stessa storia);
    - Form3, dovrà restare sempre aperta una volta arrivatoci, quindi tutte le successive form che chiamerò non saranno un problema.

    Per questo tipo di approccio ho reso come principale la Form3, ed in Program.cs, ho aggiunto:

    codice:
    Application.Run(new Login()); 
    Application.Run(new Form2());
    In modo che quando termino il Login ed esco, mi si apre il Form2.
    Come dicevo prima, mettendo un flag ed usando e.Cancel=false se premo il pulsante "Annulla", per una frazione di secondo, mi viene mostrata la Form2 per poi terminare l'esecuzione completa del programma... suggerimenti?

    Grazie mille per la risposta

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.