2012-08-07 48 views
0

我在程序中顯示了以下代碼。彈出一個消息框來顯示字段表單的內容。點擊確定後,另一個彈出詢問用戶信息是否正確。我想結合兩個地方,彈出消息框顯示錶單內容,並詢問信息是否正確,並附上YES/NO按鈕。我試過將這兩者結合起來無濟於事。我相信我錯過了一個語法概念。有任何想法嗎?將兩個C#消息框的內容合併爲一個

//shows contents of form fields 
    StringBuilder MessageText = new StringBuilder(); 
     MessageText.AppendLine(string.Format("Coil#: {0}", coil_Num.Text)); 
     MessageText.AppendLine(string.Format("Location: {0}", location_box.Text)); 
     MessageText.AppendLine(string.Format("Sub-Area: {0}", sub_area_box.Text)); 
     MessageText.AppendLine(string.Format("Row: {0}", row_Num.Text)); 
     MessageBox.Show(MessageText.ToString()); 

    //asks if info is correct, with a YES/NO button and question mark 
    DialogResult result1 = MessageBox.Show("Information is correct?", 
     "Double Check Form Information", 
     MessageBoxButtons.YesNoCancel, 
     MessageBoxIcon.Question); 

回答

2
//shows contents of form fields 
    StringBuilder MessageText = new StringBuilder(); 
     MessageText.AppendLine(string.Format("Coil#: {0}", coil_Num.Text)); 
     MessageText.AppendLine(string.Format("Location: {0}", location_box.Text)); 
     MessageText.AppendLine(string.Format("Sub-Area: {0}", sub_area_box.Text)); 
     MessageText.AppendLine(string.Format("Row: {0}", row_Num.Text)); 
     MessageText.AppendLine(); 
     MessageText.AppendLine(); 

    //asks if info is correct, with a YES/NO button and question mark 
    DialogResult result1 = MessageBox.Show(MessageText.ToString() + "Information is correct?", 
     "Double Check Form Information", 
     MessageBoxButtons.YesNoCancel, 
     MessageBoxIcon.Question); 

像這樣的事情?當然,這最後的文本也可以附加到StringBuilder。

如果您只需要是/否按鈕,請將MessageBoxButtons.YesNoCancel更改爲MessageBoxButtons.YesNo

最後檢查結果是這樣的:這取決於如果包括按鈕或不

switch (result1) 
{ 
    case DialogResult.Yes: 
     // ... Do stuff if Yes is choosen 
     break; 

    case DialogResult.No: 
     // ... Do stuff if No is choosen 
     break; 

    case DialogResult.Cancel: 
     // ... Do stuff if Cancel is choosen 
     break; 
} 
當然,你必須添加的

/刪除取消選項。

+0

是的,這正是我所需要的。我沒有想到在兩個附錄()中添加。非常感謝你! – 2012-08-07 12:06:47

+0

檢查我的編輯:)你也可以用'StringBuilder.AppendFormat()'在一行中執行'AppendLine'和'string.Format()'' – 2012-08-07 12:10:47

1

我假設你要問的信息之後的問題,在這種情況下,它是你在第一個消息框傳遞給相關的MessageBox ARG之前附加您的問題到StringBuilder的問題:

StringBuilder MessageText = new StringBuilder(); 
MessageText.AppendLine(string.Format("Coil#: {0}", coil_Num.Text)); 
MessageText.AppendLine(string.Format("Location: {0}", location_box.Text)); 
MessageText.AppendLine(string.Format("Sub-Area: {0}", sub_area_box.Text)); 
MessageText.AppendLine(string.Format("Row: {0}", row_Num.Text)); 
MessageText.AppendLine("Is this information correct?"); 

DialogResult result1 = MessageBox.Show(MessageText.ToString(), 
    "Double Check Form Information", 
    MessageBoxButtons.YesNoCancel, 
    MessageBoxIcon.Question); 
1

只要做到:

MessageBox.Show(MessageText.ToString(), MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question); 

的第二個參數(MessageBoxButtons.YesNoCancel)是什麼決定了它會有什麼按鈕(在這種情況下,是,否和取消)

1

你爲什麼不簡單地連接字符串?

DialogResult result1 = MessageBox.Show(MessageText.ToString() + 
"\nInformation is correct?", 
     "Double Check Form Information", 
     MessageBoxButtons.YesNoCancel, 
     MessageBoxIcon.Question);