/// <summary> /// Displays a message box with the specified text, caption, icon, buttons, default button and cancel button. /// The text can be copied. /// </summary> /// <param name="owner">An implementation of <see cref="System.Windows.Forms.IWin32Window"/> that will own the modal dialog box.</param> /// <param name="message">The text to display in the message box. This text can be copied.</param> /// <param name="caption">The text to display in the title bar of the message box.</param> /// <param name="icon">One of the <see cref="CopyableMessageBoxIcon"/> values that specifies which icon to display in the message box.</param> /// <param name="buttons">A <see cref="IList{T}"/> (where <c>T</c> is <see cref="string"/>) to display as buttons in the message box.</param> /// <param name="defBtn">The zero-based index of the default button.</param> /// <param name="cncBtn">The zero-based index of the cancel button.</param> /// <returns>The zero-based index of the button pressed.</returns> public static int Show(IWin32Window owner, string message, string caption, CopyableMessageBoxIcon icon, IList <string> buttons, int defBtn, int cncBtn) { CopyableMessageBoxInternal cmb = new CopyableMessageBoxInternal(message, caption, icon, buttons, defBtn, cncBtn); DialogResult dr; if (owner != null) { cmb.Icon = ((Form)owner).Icon; dr = cmb.ShowDialog(owner); } else { dr = cmb.ShowDialog(); } if (dr == DialogResult.Cancel) { return(cncBtn); } return((cmb.theButton != null) ? buttons.IndexOf(cmb.theButton.Text) : -1); }
/// <summary> /// Displays a message box with the specified text, caption, icon, buttons, default button and cancel button. /// The text can be copied. /// </summary> /// <param name="owner">An implementation of <see cref="System.Windows.Forms.IWin32Window"/> that will own the modal dialog box.</param> /// <param name="message">The text to display in the message box. This text can be copied.</param> /// <param name="caption">The text to display in the title bar of the message box.</param> /// <param name="icon">One of the <see cref="CopyableMessageBoxIcon"/> values that specifies which icon to display in the message box.</param> /// <param name="buttons">A <see cref="IList{T}"/> (where <c>T</c> is <see cref="string"/>) to display as buttons in the message box.</param> /// <param name="defBtn">The zero-based index of the default button.</param> /// <param name="cncBtn">The zero-based index of the cancel button.</param> /// <returns>The zero-based index of the button pressed.</returns> public static int Show(IWin32Window owner, string message, string caption, CopyableMessageBoxIcon icon, IList<string> buttons, int defBtn, int cncBtn) { CopyableMessageBoxInternal cmb = new CopyableMessageBoxInternal(message, caption, icon, buttons, defBtn, cncBtn); DialogResult dr; if (owner != null) { cmb.Icon = ((Form)owner).Icon; dr = cmb.ShowDialog(owner); } else { dr = cmb.ShowDialog(); } if (dr == DialogResult.Cancel) return cncBtn; return (cmb.theButton != null) ? buttons.IndexOf(cmb.theButton.Text) : -1; }