Form1 frm = new Form1();
frm1.ShowDialog();
我使用它來創建新的形式做一些東西(並不重要),我用的形式完成再經過我顯示的DialogResult再次打開相同的形式。 問題:我如何繼續打開相同的表單? 雖然Dialogresult是YES保持窗體打開(如何循環)? NO屬性打破了循環。 我希望問題清楚。如何環路的DialogResult
Form1 frm = new Form1();
frm1.ShowDialog();
我使用它來創建新的形式做一些東西(並不重要),我用的形式完成再經過我顯示的DialogResult再次打開相同的形式。 問題:我如何繼續打開相同的表單? 雖然Dialogresult是YES保持窗體打開(如何循環)? NO屬性打破了循環。 我希望問題清楚。如何環路的DialogResult
這裏是我的建議給你:
var form2 = new Form2();
do
{
form2.ShowDialog();
}
while (form2.DialogResult == System.Windows.Forms.DialogResult.Yes);
編輯:
我從你的留言你的問題,你想使用一個MessageBox,所以你可以這樣去做:
var form2 = new Form2();
do
{
form2.ShowDialog();
}
while (MessageBox.Show(string.Format("The DialogResult was {0}, do you want to show the form again?", form2.DialogResult), "My Program", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes);
我不認爲我理解你的代碼。你能澄清嗎? – Michael27
據我瞭解你的問題,只要被調用窗體的DialogResult爲Yes,就想循環。所以我的代碼顯示窗體,如果DialogResult爲Yes,它會循環並再次顯示窗體。如果除Yes之外的任何內容,則循環停止。 – Fischermaen
我根據評論改變了你的問題的樣本。 – Fischermaen
如果當用戶試圖關閉frm1時顯示一個dialogresult,如果答案是肯定就不要做任何事情。否則關閉frm1。我希望我能正確理解你的問題。
編輯:當你想關閉的frm1:
DialogResult res = MessageBox.Show("Do you want to keep this form open?",
"Close?",
MessageBoxButtons.YesNo);
if(res == DialogResult.No) this.Close();
我試過使用switch case,但它只能工作一次,對話框只顯示一次,不管我做什麼。 – Michael27
「* i display dialogresult *」您是否顯示「MessageBox」? – Otiel
這樣的東西 DialogResult rez = MessageBox.Show()//這裏自定義文本 – Michael27