c# - 如何显示带有复选框的 MessageBox?

标签 c# checkbox messagebox

我想创建一个 MessageBox,它有 Yes/No 按钮和一个复选框。

该应用程序是一个图片调整器,它会一次调整多张图片的大小;在此过程中,它将检查新位置文件名是否存在,并提供覆盖它的选项。

MessageBox 将为用户提供覆盖任何新文件的选项(如果需要),而复选框将避免点击Yes x如果他们想要覆盖每个文件的次数。

如何将复选框添加到 MessageBox 对话框?

最佳答案

创建自定义对话框。这里有一些东西可以给你一个想法:

public static class CheckboxDialog
{   
    public static bool ShowDialog(string text, string caption)
    {
        Form prompt = new Form();
        prompt.Width = 180;
        prompt.Height = 100;
        prompt.Text = caption;
        FlowLayoutPanel panel = new FlowLayoutPanel();
        CheckBox chk = new CheckBox();
        chk.Text = text;
        Button ok = new Button() { Text = "Yes" };
        ok.Click += (sender, e) => { prompt.Close(); };
        Button no = new Button() { Text = "No" };
        no.Click += (sender, e) => { prompt.Close(); };
        panel.Controls.Add(chk);
        panel.SetFlowBreak(chk, true);
        panel.Controls.Add(ok);
        panel.Controls.Add(no);
        prompt.Controls.Add(panel);
        prompt.ShowDialog();
        return chk.Checked;
    }
}

你可以这样使用它:

bool overwrite = CheckboxDialog.ShowDialog("overwrite", "Overwrite location?");

关于c# - 如何显示带有复选框的 MessageBox?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17385895/

相关文章:

python - 派生自 wx.Dialog 的通用 MessageBox

javascript - jQuery - 如果选中多个复选框,并且为每个复选框添加一个字符串到文本框

php - 使用文本字段和复选框查询数据库

c# - asp.net 网站中的消息框

c# - 带有回调的 .NET 异步 Web 服务调用

html - 样式化的复选框标签不会选中

C# Winforms 消息框属性

c# - Mvc Asp 排序项目

c# - 日期在 POST 上无效,但在我获取页面时有效

c# - 我可以强制 svcutil.exe 为 WCF 服务生成数据协定吗?