MessageBox.Show格式

时间:2015-04-11 16:02:02

标签: c#

我刚开始学习C#所以请耐心等待。在这个简单的问题上,我一直在寻找帮助。

我有一个程序,要求用户猜出一个随机数,在猜到数字后会出现一个消息框,说明你的正确和多少猜测。我刚刚从创建控制台应用程序转移到Windows窗体应用程序,并痛苦地意识到它是一组不同的规则。

MessageBox.Show("You are right! It took you " +totalGuesses," guesses",MessageBoxButtons.OK);

我需要输出来说你是对的!你花了9个猜测。

我最终得到的是你是对的!它花了9个猜测是消息框的标题。

有人可以告诉我,我做错了吗。

3 个答案:

答案 0 :(得分:4)

这将是正确的方法调用:

MessageBox.Show("You are right! It took you " + totalGuesses + " guesses","Title of your Box",MessageBoxButtons.OK);

在c#方法中可以有不同的参数,每个参数用","分隔。方法也可以重载,以便您可以使用不同的参数调用相同的方法: 因此,如果您只想在MessageBox中显示消息,可以写:

MessageBox.Show("Your Message");

如果您想为邮件添加标题:

MessageBox.Show("Your Message", "Title");
在这种情况下,智能感知是一个很好的帮助,因为它应该在每次插入""时显示参数的简短描述。在方法调用中。

在你的情况下你放了一个","在"猜测"前面。结果是,c#将其视为第二个参数,即框的标题。

答案 1 :(得分:2)

通常建议对这些类型的事物使用String.Format。请尝试以下方法:

var message = string.Format("You are right! It took you {0} guesses.", guesses);
MessageBox.Show(message, "Correct!", MessageBoxButtons.OK);

答案 2 :(得分:0)

您也可以使用string.Format;

MessageBox.Show(string.Format("You are right! It took you {0} guesses", totalGuesses), 
                "Caption",
                MessageBoxButtons.OK);