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

如何在C# Windows Forms中使用TaskDialog实现自定义按钮消息框

使用TaskDialog实现带自定义按钮的消息框

TaskDialog完全可以满足你需要自定义按钮的需求,无需额外窗体或第三方库,以下是具体实现步骤和代码示例:

WinForms(.NET 5+)实现

WinForms在.NET 5及以上版本中内置了TaskDialog,直接使用即可:

using System.Windows.Forms;

// 初始化TaskDialog实例
var customDialog = new TaskDialog();

// 设置消息框基本信息
customDialog.WindowTitle = "自定义操作提示";
customDialog.MainInstruction = "请选择下方操作";
customDialog.Content = "这里可以放置详细说明文本";

// 添加自定义按钮
var exportBtn = new TaskDialogButton("导出数据");
var syncBtn = new TaskDialogButton("同步数据");
customDialog.Buttons.Add(exportBtn);
customDialog.Buttons.Add(syncBtn);

// 可选:添加标准取消按钮
customDialog.CancelButton = TaskDialogButton.Cancel;
// 设置消息框图标
customDialog.Icon = TaskDialogIcon.Question;

// 显示对话框并处理结果
var dialogResult = customDialog.ShowDialog();

if (dialogResult == exportBtn)
{
    // 执行导出数据逻辑
    MessageBox.Show("开始导出数据");
}
else if (dialogResult == syncBtn)
{
    // 执行同步数据逻辑
    MessageBox.Show("开始同步数据");
}
else if (dialogResult == TaskDialogButton.Cancel)
{
    // 取消操作逻辑
    MessageBox.Show("操作已取消");
}

WPF/.NET 6+(WinUI)实现

如果是WPF或使用WinUI的项目,可通过Microsoft.UI.Xaml.Controls.TaskDialog实现:

using Microsoft.UI.Xaml.Controls;

// 创建TaskDialog实例
var dialog = new TaskDialog();
dialog.Title = "自定义操作提示";
dialog.Subtitle = "请选择操作类型";
dialog.Content = "详细说明内容";

// 添加自定义按钮
var deleteBtn = new TaskDialogButton("删除记录");
var archiveBtn = new TaskDialogButton("归档记录");
dialog.Buttons.Add(deleteBtn);
dialog.Buttons.Add(archiveBtn);

// 设置默认按钮和取消按钮
dialog.DefaultButton = deleteBtn;
dialog.CancelButton = TaskDialogButton.Cancel;

// 异步显示对话框
var result = await dialog.ShowAsync();

if (result == deleteBtn)
{
    // 执行删除逻辑
}
else if (result == archiveBtn)
{
    // 执行归档逻辑
}

额外说明

  • TaskDialog支持更多自定义特性:比如添加进度条、超链接、展开/折叠内容等,比传统MessageBox功能更丰富。
  • 确保项目目标框架版本符合要求:WinForms需.NET 5+,WinUI需.NET 6+或Windows App SDK环境。

内容的提问来源于stack exchange,提问作者Mert Özdemir

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 02:36:22