You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C#自定义MessageBox方法中动态指定弹出框的Icon图标

解决方案

这个需求完全可以实现,你只需要将图标参数的类型指定为System.Windows.Forms.MessageBoxIcon枚举即可,不需要自定义可变类型。

修改自定义MB方法

你可以直接使用以下代码,还可以给图标参数设置默认值,兼容你之前的旧调用逻辑:

private void MB(string Text, string Title, System.Windows.Forms.MessageBoxIcon icon = System.Windows.Forms.MessageBoxIcon.Error)
{
    MessageBox.Show(Text, Title,
            System.Windows.Forms.MessageBoxButtons.OKCancel,
            icon);
}

调用方法

如果你想像预期的那样直接写Error、Question简化调用,只需要在代码文件的顶部引入以下静态引用:

using static System.Windows.Forms.MessageBoxIcon;

之后就可以直接按你想要的方式调用:

MB("String 1", "String 2", Error);
MB("String 1", "String 2", Question);
// 原来的旧调用方式依然可用,默认使用Error图标
MB("String 1", "String 2");

如果不想加静态引用,直接写全枚举值也可以正常调用:

MB("String 1", "String 2", System.Windows.Forms.MessageBoxIcon.Error);

内容的提问来源于stack exchange,提问作者Ablac

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 08:36:03