Frage

Ich habe diesen C # -Code:

public partial class Continue : Form
{
    public Continue(string colourName)
    {
        InitializeComponent();
        lblMessage.Text = String.Format("Do you wish to change the colour to {0}", colourName);
    }

    private void btnConfirm_Click(object sender, EventArgs e)
    {
        btnConfirm.DialogResult = DialogResult.OK;
    }

    private void btnCancel_Click(object sender, EventArgs e)
    {
        btnCancel.DialogResult = DialogResult.Cancel;
    }
}

Es funktioniert gut, aber wenn das Dialog oben knallt es verlangt, dass ich auf eine Schaltfläche klicken, um zweimal zu benutzen. Hat jemand eine Idee, warum?

War es hilfreich?

Lösung

Sie müssen this.DialogResult setzen, anstatt btnxxx.DialogResult in dem Click-Handler, oder die btnxxx.DialogResult gesetzt, bevor die Handler.

das Dialog des Formulars auf die Schaltfläche setzen, bevor die Click-Methode ausgeführt wird, so das erste Mal des Ereignis ausgeführt wird, das Dialog des Formulars auf None gelassen wird, aber das zweite Mal, es wird auf das (jetzt-Set), um die Dialogresult .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top