MessageBox用法大全

MessageBox是Windows操作系统提供的一个对话框控件,常用于给用户提示信息、警告信息、错误信息和确认信息等。在不同的编程语言或开发环境中,MessageBox的使用方式略有差异,下面将介绍C++、C#、VB和Java等常见语言中MessageBox的使用方法及示例。

C++中MessageBox的使用方法

在C++中,MessageBox函数定义在“windows.h”头文件中,其语法如下:

```c++

int MessageBox(HWND hWnd, LPCTSTR lpText, LPCTSTR lpCaption, UINT uType);

```

参数说明:

- hWnd:可选参数,表示MessageBox的父窗口,一般可以传入NULL。

- lpText:必须参数,表示MessageBox上显示的文本信息。

- lpCaption:可选参数,表示MessageBox窗口的标题文本。

- uType:必须参数,表示MessageBox的类型,可以是以下常量之一:

- MB_OK:只有一个“确定”按钮;

- MB_OKCANCEL:有“确定”和“取消”两个按钮;

- MB_YESNO:有“是”和“否”两个按钮;

- MB_YESNOCANCEL:有“是”、“否”和“取消”三个按钮;

- MB_ABORTRETRYIGNORE:有“终止”、“重试”和“忽略”三个按钮;

- MB_RETRYCANCEL:有“重试”和“取消”两个按钮。

- MB_ICONSTOP:显示一个停止图标;

- MB_ICONQUESTION:显示一个问号图标;

- MB_ICONEXCLAMATION:显示一个感叹号图标;

- MB_ICONINFORMATION:显示一个信息图标。

返回值说明:

- 如果用户点击了MessageBox上的某个按钮,则返回值为相应按钮的值,比如MB_OK返回值为1;

- 如果MessageBox因其他原因被关闭,则返回值为0。

示例1:显示一个带有“确定”按钮的MessageBox

```c++

#include

int main()

{

MessageBox(NULL, "Hello, World!", "MessageBox示例", MB_OK);

return 0;

}

```

运行以上代码,将会弹出一个带有“确定”按钮的MessageBox,如下图所示:

![C++ MessageBox示例1](https://i.loli.net/2021/04/20/kRJ8ancZhYI6Gzt.png)

示例2:显示一个带有“是”和“否”按钮的MessageBox,并根据返回值进行处理

```c++

#include

int main()

{

int nResult = MessageBox(NULL, "Do you want to continue?", "MessageBox示例", MB_YESNO);

if (nResult == IDYES)

{

MessageBox(NULL, "You choose YES!", "MessageBox示例", MB_OK);

}

else if (nResult == IDNO)

{

MessageBox(NULL, "You choose NO!", "MessageBox示例", MB_OK);

}

return 0;

}

```

运行以上代码,将会弹出一个带有“是”和“否”按钮的MessageBox,用户点击按钮后,程序会根据返回值进行处理,并显示相应的信息,如下图所示:

![C++ MessageBox示例2](https://i.loli.net/2021/04/20/JkbqHwE9U6YnuNa.png)

C#中MessageBox的使用方法

在C#中,MessageBox是System.Windows.Forms命名空间下的类,其语法如下:

```c#

public static DialogResult Show(string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon, MessageBoxDefaultButton defaultButton, MessageBoxOptions options)

```

参数说明:

- text:必须参数,表示MessageBox上显示的文本信息。

- caption:可选参数,表示MessageBox窗口的标题文本。

- buttons:必须参数,表示MessageBox的类型,可以是MessageBoxButtons枚举类型中的以下常量之一:

- MessageBoxButtons.OK:只有一个“确定”按钮;

- MessageBoxButtons.OKCancel:有“确定”和“取消”两个按钮;

- MessageBoxButtons.YesNo:有“是”和“否”两个按钮;

- MessageBoxButtons.YesNoCancel:有“是”、“否”和“取消”三个按钮;

- icon:可选参数,表示MessageBox上显示的图标类型,可以是MessageBoxIcon枚举类型中的以下常量之一:

- MessageBoxIcon.Error:显示一个错误图标;

- MessageBoxIcon.Question:显示一个问号图标;

- MessageBoxIcon.Warning:显示一个感叹号图标;

- MessageBoxIcon.Information:显示一个信息图标;

- MessageBoxIcon.None:不显示图标。

- defaultButton:可选参数,表示MessageBox上默认选中的按钮,可以是MessageBoxDefaultButton枚举类型中的以下常量之一:

- MessageBoxDefaultButton.Button1:第一个按钮设置为默认选中;

- MessageBoxDefaultButton.Button2:第二个按钮设置为默认选中;

- MessageBoxDefaultButton.Button3:第三个按钮设置为默认选中。

- options:可选参数,表示MessageBox的附加选项,可以是MessageBoxOptions枚举类型中的以下常量之一:

- MessageBoxOptions.DefaultDesktopOnly:只在当前桌面上显示MessageBox;

- MessageBoxOptions.ServiceNotification:以服务方式显示MessageBox。

返回值说明:

- 如果用户点击了MessageBox上的某个按钮,则返回该按钮的值,可以是DialogResult枚举类型中的以下常量之一:

- DialogResult.OK:表示用户点击了“确定”按钮;

- DialogResult.Cancel:表示用户点击了“取消”按钮;

- DialogResult.Yes:表示用户点击了“是”按钮;

- DialogResult.No:表示用户点击了“否”按钮;

- 如果MessageBox因其他原因被关闭,则返回值为None。

示例1:显示一个带有“确定”按钮的MessageBox

```c#

using System.Windows.Forms;

class Program

{

static void Main()

{

MessageBox.Show("Hello, World!", "MessageBox示例", MessageBoxButtons.OK);

}

}

```

运行以上代码,将会弹出一个带有“确定”按钮的MessageBox,如下图所示:

![C# MessageBox示例1](https://i.loli.net/2021/04/20/hw6GBu5koPO3sLd.png)

示例2:显示一个带有“是”和“否”按钮的MessageBox,并根据返回值进行处理

```c#

using System.Windows.Forms;

class Program

{

static void Main()

{

DialogResult result = MessageBox.Show("Do you want to continue?", "MessageBox示例", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2, MessageBoxOptions.DefaultDesktopOnly);

if (result == DialogResult.Yes)

{

MessageBox.Show("You choose YES!", "MessageBox示例", MessageBoxButtons.OK, MessageBoxIcon.Information);

}

else if (result == DialogResult.No)

{

MessageBox.Show("You choose NO!", "MessageBox示例", MessageBoxButtons.OK, MessageBoxIcon.Information);

}

}

}

```

运行以上代码,将会弹出一个带有“是”和“否”按钮的MessageBox,用户点击按钮后,程序会根据返回值进行处理,并显示相应的信息,如下图所示:

![C# MessageBox示例2](https://i.loli.net/2021/04/20/uIwF3D7cOWMSYb5.png)

VB中MessageBox的使用方法

在VB中,也可以使用System.Windows.Forms命名空间下的MessageBox类,其使用方法与C#中相同,下面将不再赘述。此外,VB还提供了一个MsgBox函数,其语法如下:

```vb

MsgBox(prompt[, buttons][, title][, helpfile, context])

```

参数说明:

- prompt:必须参数,表示MessageBox上显示的文本信息。

- buttons:可选参数,表示MessageBox的类型,可以是以下常量之一:

- vbOKOnly:只有一个“确定”按钮;

- vbOKCancel:有“确定”和“取消”两个按钮;

- vbYesNo:有“是”和“否”两个按钮;

- vbYesNoCancel:有“是”、“否”和“取消”三个按钮;

- vbAbortRetryIgnore:有“终止”、“重试”和“忽略”三个按钮;

- vbRetryCancel:有“重试”和“取消”两个按钮。

- title:可选参数,表示MessageBox窗口的标题文本。

- helpfile:可选参数,表示帮助文件的路径和文件名。

- context:可选参数,表示帮助主题中的上下文ID。

返回值说明:

- 如果用户点击了MessageBox上的某个按钮,则返回值为相应按钮的值;

- 如果用户点击X关闭了MessageBox,则返回值根据Abort语句的处理方式而定。

示例1:显示一个带有“确定”按钮的MessageBox

```vb

Sub Main()

MsgBox "Hello, World!", vbOKOnly, "MessageBox示例"

End Sub

```

运行以上代码,将会弹出一个带有“确定”按钮的MessageBox,如下图所示:

![VB MessageBox示例1](https://i.loli.net/2021/04/20/qxD48JflN7pCzIi.png)

示例2:显示一个带有“是”和“否”按钮的MessageBox,并根据返回值进行处理

```vb

Sub Main()

Dim result As Long

result = MsgBox("Do you want to continue?", vbYesNoCancel + vbQuestion + vbDefaultButton2, "MessageBox示例")

If result = vbYes Then

MsgBox "You choose YES!", vbOKOnly + vbInformation, "MessageBox示例"

ElseIf result = vbNo Then

MsgBox "You choose NO!", vbOKOnly + vbInformation, "MessageBox示例"

Else

MsgBox "You choose CANCEL!", vbOKOnly + vbInformation, "MessageBox示例"

End If

End Sub

```

运行以上代码,将会弹出一个带有“是”和“否”按钮的MessageBox,用户点击按钮后,程序会根据返回值进行处理,并显示相应的信息,如下图所示:

![VB MessageBox示例2](https://i.loli.net/2021/04/20/3BwjSJ2Q1bPYNWZ.png)

Java中JOptionPane的使用方法

在Java中,可以使用JOptionPane类来创建MessageBox,其语法如下:

```java

JOptionPane.showMessageDialog(Component parentComponent, Object message, String title, int messageType, Icon icon)

```

参数说明:

- parentComponent:可选参数,表示JOptionPane的父组件,可以传入null。

- message:必须参数,表示MessageBox上显示的文本信息或者JComponent对象。

- title:可选参数,表示MessageBox窗口的标题文本。

- messageType:可选参数,表示MessageBox的类型,可以是以下常量之一:

- JOptionPane.INFORMATION_MESSAGE:显示一个信息图标;

- JOptionPane.PLAIN_MESSAGE:不显示图标;

- JOptionPane.WARNING_MESSAGE:显示一个感叹号图标;

- JOptionPane.ERROR_MESSAGE:显示一个错误图标;

- JOptionPane.QUESTION_MESSAGE:显示一个问号图标。

- icon:可选参数,表示JOptionPane上显示的图标类型。

返回值说明:

- 无返回值。

示例1:显示一个带有“确定”按钮的MessageBox

```java

import javax.swing.JOptionPane;

public class Main {

public static void main(String[] args) {

JOptionPane.showMessageDialog(null, "Hello, World!", "MessageBox示例", JOptionPane.PLAIN_MESSAGE);

}

}

```

运行以上代码,将会弹出一个带有“确定”按钮的MessageBox,如下图所示:

![Java MessageBox示例1](https://i.loli.net/2021/04/20/e2DcPztY1EN5XjV.png)

示例2:显示一个带有“是”和“否”按钮的MessageBox,并根据返回值进行处理

```java

import javax.swing.JOptionPane;

public class Main {

public static void main(String[] args) {

int result = JOptionPane.showConfirmDialog(null, "Do you want to continue?", "MessageBox示例", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE);

if (result == JOptionPane.YES_OPTION) {

JOptionPane.showMessageDialog(null, "You choose YES!", "MessageBox示例", JOptionPane.INFORMATION_MESSAGE);

} else if (result == JOptionPane.NO_OPTION) {

JOptionPane.showMessageDialog(null, "You choose NO!", "MessageBox示例", JOptionPane.INFORMATION_MESSAGE);

} else {

JOptionPane.showMessageDialog(null, "You choose CANCEL!", "MessageBox示例", JOptionPane.INFORMATION_MESSAGE);

}

}

}

```

运行以上代码,将会弹出一个带有“是”和“否”按钮的MessageBox,用户点击按钮后,程序会根据返回值进行处理,并显示相应的信息,如下图所示:

![Java MessageBox示例2](https://i.loli.net/2021/04/20/aDkr5TXSe4n67t3.png)

总结

通过以上介绍,我们可以发现,不同编程语言或开发环境中的MessageBox使用方法略有差异,但基本上都可以实现相同的效果。因此,在实际开发中,需要根据具体情况选择合适的方式来使用MessageBox,并将其作为提示信息、警告信息、错误信息和确认信息等的常用手段之一。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.37seo.cn/

点赞(12) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部