Warum brauchen Tasten zweimal gedrückt werden in diesem modalen Dialog zu arbeiten?
-
05-07-2019 - |
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?
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