简介

KryptonMessageBox 是增强型消息框,通过静态方法调用,替代标准 System.Windows.Forms.MessageBox。它自动跟随 Krypton 主题渲染,支持自定义图标、按钮文字、可选复选框、超链接等扩展功能,对话框外观与应用程序整体风格保持一致。

KryptonMessageBox 示例截图
KryptonMessageBox 各种图标和按钮组合

常用方法

方法返回类型说明
Show(string text)DialogResult显示仅含文字的消息框
Show(string text, string caption)DialogResult显示带标题的消息框
Show(string text, string caption, MessageBoxButtons)DialogResult指定按钮组合(OK / YesNo / OKCancel 等)
Show(string text, string caption, MessageBoxButtons, MessageBoxIcon)DialogResult指定按钮和图标(Information / Warning / Error / Question)
Show(IWin32Window owner, ...)DialogResult指定父窗体的重载版本
Show(KryptonMessageBoxOptions options)DialogResult使用选项对象的高级重载(支持复选框、超链接等)
ShowError(string text, string caption)DialogResult快捷方法:显示错误图标消息框
ShowWarning(string text, string caption)DialogResult快捷方法:显示警告图标消息框
ShowInformation(string text, string caption)DialogResult快捷方法:显示信息图标消息框
ShowQuestion(string text, string caption)DialogResult快捷方法:显示问号图标消息框

快速上手

基本用法

using Krypton.Toolkit;

// 简单提示
KryptonMessageBox.Show("操作已完成!", "提示",
    MessageBoxButtons.OK, MessageBoxIcon.Information);

// 确认对话框
var result = KryptonMessageBox.Show(
    "确定要删除选中的文件吗?此操作不可撤销。",
    "确认删除",
    MessageBoxButtons.YesNo,
    MessageBoxIcon.Warning);

if (result == DialogResult.Yes)
{
    DeleteSelectedFiles();
}

带父窗体的消息框

// 指定父窗体,确保消息框居中于父窗体之上
KryptonMessageBox.Show(
    this,
    "文件保存成功。",
    "保存",
    MessageBoxButtons.OK,
    MessageBoxIcon.Information);

进阶用法

使用 KryptonMessageBoxOptions(高级选项)

// 使用选项对象创建带复选框的消息框
var options = new KryptonMessageBoxOptions
{
    Text = "是否将当前设置设为默认?",
    Caption = "设置确认",
    Buttons = MessageBoxButtons.YesNo,
    Icon = MessageBoxIcon.Question,
    // 添加"不再提示"复选框
    OptionalCheckBox = true,
    OptionalCheckBoxText = "不再显示此提示",
    OptionalCheckBoxChecked = false
};

var result = KryptonMessageBox.Show(options);

if (options.OptionalCheckBoxChecked)
{
    // 用户勾选了"不再提示"
    Properties.Settings.Default.SkipConfirm = true;
    Properties.Settings.Default.Save();
}

if (result == DialogResult.Yes)
{
    SetAsDefault();
}

自定义按钮文字

// 使用自定义按钮文字替代默认的"是/否"
var result = KryptonMessageBox.Show(
    new KryptonMessageBoxOptions
    {
        Text = "检测到新版本 v2.1.0,是否立即更新?",
        Caption = "软件更新",
        Buttons = MessageBoxButtons.YesNo,
        Icon = MessageBoxIcon.Information,
        YesButtonText = "立即更新",
        NoButtonText = "稍后提醒"
    });

if (result == DialogResult.Yes)
{
    StartUpdate();
}
提示:在 Krypton 应用中,应始终使用 KryptonMessageBox 替代标准 MessageBox,以保持对话框与主界面的主题一致性。调用方式完全兼容标准 MessageBox 的参数签名。

对应示例项目

📁 Source/Krypton Toolkit Examples/KryptonMessageBox Examples/

包含:各种图标/按钮组合、复选框选项、自定义按钮文字演示。

相关控件