Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    93

    [C#] sottoporre a condizioni dialogresult di un button

    ciao ragazzi.
    ho creato un form che richiama un altro form col metodo showdialog.
    il risultato della showdialog è delegato ad un bottone "myButton" ma non riesco in alcun modo a sottoporlo a condizione...
    scrivo due righe per farvi capire:
    FORM PRINCIPALE
    codice:
    DialogResult res = sincrForm.ShowDialog();
    nel form secondario vado a modificare il valore del dialogresult in base alle mie esigenze ma il cambiamento non viene considerato.rimane il valore di dialogresult assegnato all'inizio.è come se l'evento click agisse dopo il ritorno della form.in debug mode vedo che il valore viene correttamente cambiato ma al form padre viene sempre e comunque ritornato OK.
    FORM SECONDARIO
    codice:
    btnSincronizza.DialogResult = System.Windows.Forms.DialogResult.OK;
    
    {...codice...}
    
    private void myButton_Click(object sender, EventArgs e)
    {
    if (condizione)  btnSincronizza.DialogResult = System.Windows.Forms.DialogResult.None;
    if (condizione)  btnSincronizza.DialogResult = System.Windows.Forms.DialogResult.Yes;
    if (condizione)  btnSincronizza.DialogResult = System.Windows.Forms.DialogResult.No;
    }
    ogni idea o comunque alternativa alla gestione delle condizioni con i dialogresult è ben accetta.grazie mille

  2. #2
    Che versione di VS?
    Chi non cerca trova.

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    93
    2010

  4. #4
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Puoi fare a meno dell'istruzione
    DialogResult res = sincrForm.ShowDialog();
    a meno che res non ri serva anche per altri scopi oltre a questo.

    - Imposta il DialogResult dei pulsanti a NONE
    - al click sul pulsante devi modificare la proprietà DialogResult del FORM (non del pulsante!).

    codice:
    sincrForm.ShowDialog();
    
    
    // IN sincrForm
    private void myButton_Click(object sender, EventArgs e)
    {
    if (condizione)  This.DialogResult = System.Windows.Forms.DialogResult.None;
    if (condizione)  This.DialogResult = System.Windows.Forms.DialogResult.Yes;
    if (condizione)  This.DialogResult = System.Windows.Forms.DialogResult.No;
    }
    If (sincrForm.DialogResult == .....) fai_quello_che_devi


  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    93
    Originariamente inviato da gibra
    Puoi fare a meno dell'istruzione
    DialogResult res = sincrForm.ShowDialog();
    a meno che res non ri serva anche per altri scopi oltre a questo.

    - Imposta il DialogResult dei pulsanti a NONE
    - al click sul pulsante devi modificare la proprietà DialogResult del FORM (non del pulsante!).

    codice:
    sincrForm.ShowDialog();
    
    
    // IN sincrForm
    private void myButton_Click(object sender, EventArgs e)
    {
    if (condizione)  This.DialogResult = System.Windows.Forms.DialogResult.None;
    if (condizione)  This.DialogResult = System.Windows.Forms.DialogResult.Yes;
    if (condizione)  This.DialogResult = System.Windows.Forms.DialogResult.No;
    }
    If (sincrForm.DialogResult == .....) fai_quello_che_devi

    scusa se rispondo ora ma ho avuto solo oggi il tempo di provare.
    effettivamente la tua soluzione è molto più saggia e funzionale, cosi facendo riesco ad imporre condizioni prima di impostare la result e quindi uscire dalla form.
    grazie mille siete stati molto gentili

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.