Displaying a Message Box

Applies To: Microsoft Dynamics AX 2012 R3, Microsoft Dynamics AX 2012 R2, Microsoft Dynamics AX 2012 Feature Pack, Microsoft Dynamics AX 2012

You can display a message in a modal dialog box by using the Box class.

Some methods in the Box class display a dialog box that contains multiple buttons. These methods have a parameter for choosing which button has focus when the dialog box is first displayed. This parameter is of type DialogButton enum. Most of these multiple-button methods return a value of type DialogButton enum. This returned value enables your program to branch based on which button the user clicked.

Note

The Box application class calls the DialogBox system class. Don't call it directly—always call the Box class instead.

Creating a Message Box

The following are guidelines to help you create an effective message box:

  • Choose a Box method that matches your purpose.

  • Write the information text to match the buttons in the box.

  • Choose the button best suited for having initial focus.

  • Use the returned DialogButton value to direct the branching in your code.

Box Class Methods

The following table describes the Box class methods and their associated DialogBoxType system enum values.

Box class static method name

Associated DialogBoxType enum value

Description

info

InfoBox

The OK button is the only one that the info method displays in the dialog box.

Use this method to display general information messages rather than for warning or error messages.

infoOnce

InfoBox

The infoOnce method is similar to the info method but with the following differences:

  • Your code cannot set the text in the title bar.

  • An additional header section is displayed under the title bar, and you can set the text that displays in the header.

  • A More info... button is present. When clicked, it opens a Web browser to the URL string that you supply through a parameter.

The infoOnce method returns void, even though it has two buttons.

infoOnceEx

InfoBox

The infoOnceEx method is similar to the infoOnce method but with the following differences:

  • The infoOnceEx method has a parameter that can be passed in to set the text in the title bar.

  • The infoOnceEx method has a Boolean parameter for choosing whether to have the caller thread continue processing while the user reads the message in the dialog box.

okCancel

OkCancelBox

The OK and Cancel buttons are displayed in the dialog box. Call this method when the user must confirm or reject an action.

stop

StopBox

The OK button is the only one displayed in the dialog box.

Use this method to display a message when the user should stop attempting their action or when a process has stopped running.

warning

WarnBox

The OK button is the only one displayed in the dialog box. Use this dialog box for a warning message.

yesAllNoAllCancel

YesToAllNoToAllBox

The buttons displayed in this dialog box are Yes, Yes to all, No, No to all, and Cancel.

yesNo

YesNoBox

The buttons displayed in this dialog box are Yes and No. Call this method when you need the user to make a choice.

yesNoNoAllCancel

NoToAllBox

The buttons displayed in this dialog box are Yes, No, No to all, and Cancel.

yesNoAxaptaForm

YesNoBox

The yesNoAxaptaForm method is similar to the yesNo method but with the following differences:

  • The yesNoAxaptaForm dialog box has a different image.

  • The yesNoAxaptaForm dialog box is wider.

yesNoCancel

YesNoCancelBox

The buttons displayed in this dialog box are Yes, No, and Cancel. Call this method when the yesNo method is insufficient.

yesNoOnce

YesNoBox

The yesNoOnce method is similar to the yesNo method but with the following differences:

  • The yesNoOnce dialog box has a different image.

  • The yesNoOnce dialog box has a check box that the user can select to suppress any further occurrence of an associated message.

yesYesAllNoCancel

YesToAllBox

The Yes, Yes to all, No, and Cancel buttons are displayed.

Example

The following example displays a message box that contains buttons labeled Yes, No, and Cancel. The No button has initial focus. When a button is clicked, a message is displayed in the Print Window to indicate which button was clicked. Run this example as a job in the Application Object Tree (AOT).

    static void JobBoxDemo(Args _args)
    {
        DialogButton diagBut;
        str strMessage = "The No button should have initial focus.";
        str strTitle = "Title";
        ;
        diagBut = Box::yesNoCancel(
            strMessage,
            DialogButton::No, // Initial focus is on the No button.
            strTitle);
        if (diagBut == DialogButton::No)
            {
                print "The No button was clicked.";
            }
        else
            {
                print "The button that was clicked was: ", diagBut;
            }
        pause;
    }

See also

DialogBoxType Enumeration

DialogButton Enumeration

Announcements: New book: "Inside Microsoft Dynamics AX 2012 R3" now available. Get your copy at the MS Press Store.