2 u013069562 u013069562 于 2016.04.26 15:44 提问

MessageBox和DialogResult程序报错

VC++6.0网上找的点击“是”进入下一步的代码,然后我用main函数执行下面的代码
string message = "You did not enter a server name. Cancel this operation?";
string caption = "No Server Name Specified";
MessageBoxButtons buttons = MessageBoxButtons.YesNo;
DialogResult result;

    //显示MessageBox.
    result = MessageBox.Show(this, message, caption, buttons);

    //如果点击的是"YES"按钮,将form关闭.
    if(result == DialogResult.Yes)
    {
        // Closes the parent form.
        this.Close();
    }

然后报了错,请问是什么问题,最好能给一份完整的代码,本人新手
C:\Desktop\ceshi1\ceshi1.cpp(13) : error C2065: 'DialogResult' : undeclared identifier
C:\Desktop\ceshi1\ceshi1.cpp(13) : error C2228: left of '.Yes' must have class/struct/union type
C:\Desktop\ceshi1\ceshi1.cpp(13) : error C2228: left of '.Show' must have class/struct/union type
C:\Desktop\ceshi1\ceshi1.cpp(13) : error C2065: 'MessageBoxButtons' : undeclared identifier
C:\Desktop\ceshi1\ceshi1.cpp(13) : error C2228: left of '.YesNo' must have class/struct/union type
C:\Desktop\ceshi1\ceshi1.cpp(13) : error C2065: 'MessageBoxIcon' : undeclared identifier
C:\Desktop\ceshi1\ceshi1.cpp(13) : error C2228: left of '.Information' must have class/struct/union type
C:\Desktop\ceshi1\ceshi1.cpp(13) : error C2065: 'MessageBoxDefaultButton' : undeclared identifier
C:\Desktop\ceshi1\ceshi1.cpp(13) : error C2228: left of '.Button1' must have class/struct/union type
C:\Desktop\ceshi1\ceshi1.cpp(15) : error C2228: left of '.Show' must have class/struct/union type
C:\Desktop\ceshi1\ceshi1.cpp(17) : warning C4508: 'main' : function should return a value; 'void' return type assumed

3个回答

caozhy
caozhy   Ds   Rxr 2016.04.26 22:21
已采纳
 这代码是C#的,不是C++的。

C++的写法是
if (MessageBox(NULL. "You did not enter a server name. Cancel this operation?", "No Server Name Specified", MB_YESNO) == IDYES)
//接下去的代码
caozhy
caozhy   Ds   Rxr 2016.04.26 22:21
 if (MessageBox(NULL, "You did not enter a server name. Cancel this operation?", "No Server Name Specified", MB_YESNO) == IDYES)
qq_20246395
qq_20246395   2016.04.27 02:20

c#才有这东西DialogResult.Yes。。。。怎么越看越像c#
DialogResult MessageBoxButton这些东西错误中说未定义
加上网上找到,应该是没有依赖某个库,这些东西都是别人定义的东西,而且我看好像是c++.net的东西。
嘛,只想实现功能的话楼上已经有答案了

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
MessageBox.Show()用法总结
名称(具有相同的返回值 DialogResult) 说明 MessageBox.Show (String) 显示具有指定文本的消息框。 由 .NET Compact Framework 支持。 MessageBox.Show (IWin32Window, String) 在指定对象的前面显示具有指定文本的消息框。
c#之MessageBox的用法和获取返回值方法
C#中messagebox用法【函数】 MessageBox( Title, nType,MessageBoxIcon);【函数说明】 弹出一个消息框。【语法】参数:Text ,消息框的正文;Title ,消息框的标题;nType ,消息框的类型。返回值:,用户在消息框上点击关闭时的选择的按钮。MessageBoxIcon:对话框上显示的图标样式。                   
wince/WinForm下实现一个自动关闭的MessageBox
WinForm 下我们可以调用MessageBox.Show 来显示一个消息对话框,提示用户确认等操作。在有些应用中我们需要通过程序来自动关闭这个消息对话框而不是由用户点击确认按钮来关闭。然而.Net framework 没有为我们提供自动关闭MessageBox 的方法,要实现这个功能,我们需要使用Window API 来完成。       首先我们需要找到这个消息对话框的窗口句柄,一个比较简
C# 退出对话框 DialogResult 用法 可防止弹出二次的尴尬
昨天晚上在做项目的时候,遇到了点击程序的 退出 菜单时,会弹出二次确认是否退出程序的对话框,后来分析了一下,是因为我在 Closeed 中的代码里也有一段弹出对话框询问是否退出程序的代码,后来经在网上查询,并改善,得来以下代码,可有效防止弹出二次对话框的尴尬!            我在写 Closing的退出事件中原本是这样写的,如下代码: view plainp
MessageBox产生信息窗口在所有窗口最顶端的办法!
MessageBox("信息提示!",MB_ICONWARNING|MB_SYSTEMMODAL);    
DevExpress MessageBox 弹出框 底层类
效果图:   前台调用: //图一的前台调用 MessageBox.Show("测试", "标题", MessageBoxButtons.OK); //图二的前台调用 Functionjsj.ShowMsg("测试", Functionjsj.MsgType.OK); 说明:
MessageBox 显示总显示在最前面
static public DialogResult Show(string message, string title, MessageBoxButtons buttons) { // Create a host form that is a TopMost window which will be the
让MessageBox在最前面显示
用 MessageBox.Show(String, String, MessageBoxButton, MessageBoxImage, MessageBoxResult, MessageBoxOptions)
C# DialogResult.OK == Form.ShowDialog()
简要的分析:是将窗体显示为模式窗体并判断窗体的返回值来确定下一步的操作。DialogResult 是Form类的一个属性, ShowDialog()是Form类的一个方法也就是函数。一般对话框上会有:确定,取消两个按钮。 点击确定,会设置 DialogResult =DialogResult.OK ; 点击取消,会设置 DialogResult =DialogResult.Cancel ;
关于c#中的dialogresult
<br />在botton里面设置dialogresult为ok的时候,按下按钮窗口会自然关闭,这是由于窗口时模态显示的原因<br />这种方式多用于设置对话框吧。。。<br />但是更多时候必须判断对话框里里的输入是否有效或者其他一些判断<br />所以不推荐奖button的dialogresult属性直接设置为ok<br />而是动态用代码实现,但条件成立的时候写上<br />this.DialogResult=DialogResult.ok;<br />这样可以避免一些异常的捕捉和判断。。。<br /