2012-08-07 89 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);