我正在使用Visual Studio 2008开发Windows CE应用程序。
代码:
private void cmdLogOn_Click(object sender, EventArgs e)
{
if (loginStatus == false)
{
DialogResult dialogresult = MessageBox.Show("Are you sure?", "text", MessageBoxButtons.YesNo);
if (dialogresult == DialogResult.Yes)
{
//Do Stuff;
}
}
else
{
//Do stuff
}
}
我收到错误:“没有重载方法'显示'需要'3'参数”。知道为什么吗?
编辑:以下是使用新应用程序演示此问题的一步一步:
2.Visual C#>智能设备项目
button1
&标签= label1
答案 0 :(得分:1)
一个合理的解释是你正在瞄准.net 1,对于紧凑的框架,它只有一个single MessageBox.Show
method that accepts a single parameter of type string
。
支持compact framework for the overload that you seek to use was added in .net 2.0,至少从文档中可以看出。
您在评论中说明您使用的是.net 3.5。在这种情况下,唯一合理的结论是MessageBox
必须是System.Windows.Forms.MessageBox
之外的其他内容,因为紧凑框架上的.net 3.5中的类具有您要调用的重载。
最后,@ CathalMF断言紧凑框架中不存在重载。也许文档是错的!
答案 1 :(得分:1)
您可以尝试这样的事情:
MessageBox.Show("my text", "title", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation,
MessageBoxDefaultButton.Button1);
答案 2 :(得分:1)
简单的答案是在.NET Compact框架中,没有重载需要3个参数,正如错误所说。
您可以使用:
DialogResult dialogresult = MessageBox.Show("Are you sure?", "text",
MessageBoxButtons.YesNo, MessageBoxIcon.None, MessageBoxDefaultButton.Button1);
答案 3 :(得分:-2)
您必须使用System.Windows.Forms
System.Windows.Forms.DialogResult dialogresult = System.Windows.Forms.MessageBox.Show("Are you sure?", "text", System.Windows.Forms.MessageBoxButtons.YesNo);