J'ai une boîte de dialogue affichant des informations sur un objet. Je veux fermer ce dialogue pour montrer le même dialogue mais maintenant avec le frère de l'objet. C'est un dialogue complexe qui charge différents composants en fonction de l'objet assigné, je ne peux pas changer la référence à un autre objet J'ai essayé de lancer le nouveau dans l'événement Closed, mais le premier n'a pas disparu de l'écran et continue de s'afficher. Également essayé une méthode statique qui est appelée dans la boîte de dialogue, en passant la même boîte de dialogue comme un paramètre, de sorte qu'il ferme la boîte de dialogue 'dialogue.Close()' et ouvre un nouveau avec le nouvel objet à afficher. Mais toujours l'ancien reste ouvert derrière. Existe-t-il un moyen d'accomplir cela, en fermant la première fenêtre et en ouvrant la seconde?Comment puis-je ouvrir un dialogue Winform lors de la fermeture d'un autre?
(CECI EST L'approche statique, la fenêtre adoptée par le paramètre ne se ferme pas jusqu'à ce que le nouveau créé est fermé)
// From the Dialog try to launch the second one closing this.
private void btnSibling_Click(object sender, EventArgs e)
{
SwitchToSibling(this);
}
private static void SwitchToSibling(SiblingDialog window)
{
try
{
double id = 0;
id = window.SelectedSibling();
if (id != 0)
{
// Get's the same Parent so to the new Dialog
Control owner = window.Owner;
window.Close();
Sibling sibling= Sibling.Get(id);
SiblingDialog.ShowSibling(sibling, false, owner);
}
}
catch (GroupException ex)
{
MessageBox.Show(ex.Message);
}
}
Les dialogues impliqués sont-ils modaux ou modélisés? –