我有一個對話框,顯示有關對象的一些信息。我想關閉這個對話框來顯示相同的對話框,但現在與對象的兄弟。這是一個複雜的對話框,根據指定的對象加載不同的組件,我無法將引用更改爲另一個對象。 我試圖在Closed事件中啓動新的對象,但前者沒有從屏幕消失並繼續顯示。還嘗試了一種靜態方法,在對話框中調用whith,將相同的對話框作爲參數傳遞,因此它關閉對話框'dialog.Close()'並打開一個新對象以顯示新對象。但前者仍然保持開放。 有沒有辦法做到這一點,關閉第一個窗口並打開第二個窗口?如何關閉另一個Winform對話框?
(這是靜態的方法,直到創建了新的關閉由參數傳遞的窗口不會關閉)
// 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);
}
}
涉及的對話框是模態還是非模態? – 2009-10-05 18:08:00