n° 219
Novembre 2017
Dicembre 13, 2017, 05:08:31 *
Benvenuto! Accedi o registrati.
Hai dimenticato l'e-mail di attivazione?

Accesso con nome utente, password e durata della sessione
Notizia:
 
   Indice   Linux Windows Techassistance Gameassistance videogame hardware Aiuto Ricerca Agenda Downloads Accedi Registrati  


* Messaggi recenti
Messaggi recenti
Pagine: [1]   Vai giù
  Stampa  
Autore Discussione: Gestire la "X" di chiusura di una finestra WPF...  (Letto 4223 volte)
0 utenti e 1 Utente non registrato stanno visualizzando questa discussione.
Robi
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 17



Mostra profilo WWW E-mail
« inserita:: Maggio 11, 2012, 05:45:52 »

Ciao a tutti,
 
ho un problema con un'applicazione WPF (sono alle prime armi)
 
in pratica ho una finestra dove c'e' un campo di testo dove faccio
 
inserire all'utente il proprio nome e un pulsante OK per confermare
 
la scelta e chiudere la finestra, quello che vorrei fare e' che se l'utente
 
clicca nella "X" di chiusura della finestra (che in WPF non si puo' nascondere)
 
la finestra si chiuda per tornare alla finestra principale dell'applicazione
 
ma senza fare modifiche (cioe' come se l'utente cliccasse su un pulsante "cancella"),
 
invece in questo momento se l'utente clicca sulla "X" il programma mi accetta
 
il nome inserito come se si premesse il pulsante OK, io vorrei invece che non
 
succedesse nulla se l'utente clicca sulla "X" di chiusura. Oppure in alternativa
 
trovare un modo per disabilitare (o nascondere) la "X".
 
Grazie a tutti.
 

Robertino.
Registrato
alex.75
invioattach
Full Member
***

Karma: +14/-4
Scollegato Scollegato

Messaggi: 357



Mostra profilo WWW
« Risposta #1 inserita:: Maggio 13, 2012, 11:24:48 »

Ammesso che per "finestra" tu intenda la classe Window, il funzionamento è praticamente lo stesso dei "vecchi" WinForm:
Codice:
// codice nella finestra "Main" che apre la finestra di richiesta password
        private void btnTest_3_Click(object sender, RoutedEventArgs e)
        {
            PasswordWindow window = new PasswordWindow();
            bool? result = window.ShowDialog();

            if (result.HasValue && result.Value)
            {
                MessageBox.Show("Password: " + window.GetPassword());
            }
        }

// codice della finestra di richiesta password
        public string GetPassword() { return PasswordTextBox.Text.Trim();  }

        private void OkButton_Click(object sender, RoutedEventArgs e)
        {
            this.DialogResult = true;
            this.Close();
        }

ciao
Registrato
xmiki
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 4


Mostra profilo
« Risposta #2 inserita:: Agosto 31, 2012, 10:10:58 »

Puoi togliere direttamente tutti i bottoni mettendo nello xaml
WindowStyle="None"
Però non serve praticamente a nulla perchè  uno ti può chiudere la finestra con alt+f4

Secondo me ti conviene tenere tutti i bottoni e ovveraidare OnClosing in moda che la finestra non possa essere chiusa in nessun modo a meno che tu non lo voglia

Codice:
public partial class MainWindow : Window
    {
        private bool consentiChiusura;
        public MainWindow()
        {
            InitializeComponent();
            consentiChiusura = false;
        }

        protected override void OnClosing(CancelEventArgs e)
        {
            base.OnClosing(e);
            if (!consentiChiusura)
            {
                e.Cancel = true;
            }
        }

        private void Button_Click_1(object sender, RoutedEventArgs e)
        {
            //.....
            //ok chiuduo
            consentiChiusura = true;
            this.Close();
        }
    }
Registrato
Pagine: [1]   Vai su
  Stampa  
 
Vai a:  

Copyright © 2017 Edizioni Master SpA. p.iva : 02105820787

Tutti i diritti di proprietà letteraria e artistica riservati. - Privacy



powered by Simple Machines