ApeForms | C# - WinForm临时对话框(消息框、提示框、输入框、密码框、单选框、多选框等)

这篇具有很好参考价值的文章主要介绍了ApeForms | C# - WinForm临时对话框(消息框、提示框、输入框、密码框、单选框、多选框等)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

ApeForms | Dialog组件

前言

ApeForms一款基于WinForm实现的开源免费商用的UI库,其中提供了一套便于用户交互的临时对话框组件(Dialog),可用于快速创建开发中常见的交互对话框,例如:消息框、提示框、输入框、单选框、多选框等。

ApeFree.ApeDialogs并不是一个包含Dialog实现的UI库,而是一套Dialog标准(提供了一套临时弹出对话框的实现标准)。 Dialog是界面开发过程中必不可少的组件,无论是桌面开发、Web前端开发、移动端开发,甚至命令行应用程序中的一次“Yes or No”的输入都可以看做是一次Dialog弹框。

示例

准备步骤

如下所示,创建Dialog提供器:

ApeFormsDialogProvider provider = DialogFactory.Factory.GetApeFormsDialogProvider();

消息对话框 MessageDialog

ApeForms | C# - WinForm临时对话框(消息框、提示框、输入框、密码框、单选框、多选框等)

            var dialog = provider.CreateMessageDialog(s =>
            {
                // 是否可取消
                s.Cancelable = true;
                // 修改确认键文本
                s.ConfirmOption.Text = "知道了";
                // 修改Dialog窗体尺寸
                s.DialogSize = new Size(400, 250);
                // 修改标题名
                s.Title = tbTitle.Text;
                // 修改文本内容
                s.Content = tbContent.Text;
            });
            dialog.Show();

输入对话框 InputDialog

ApeForms | C# - WinForm临时对话框(消息框、提示框、输入框、密码框、单选框、多选框等)

            var dialog = provider.CreateInputDialog(s =>
            {
                // 标题文本
                s.Title = tbTitle.Text;
                // 消息文本
                s.Content = tbContent.Text;
                // 输入框默认文本
                s.DefaultText = "You can set the default text in the input box by using the 'DefaultText' property.";
                // 是否可取消
                s.Cancelable = true;
                // 是否允许输入为空
                s.AllowEmpty = false;
                // 输入文本最大长度
                s.MaximumLength = 200;
                // 输入文本最小长度
                s.MinimumLength = 6;
                // 是否多行
                s.IsMultiline = false;
                // 确认按钮文本
                s.ConfirmOption.Text = "Confirm(确定)";
                // 取消按钮文本
                s.CancelOption.Text = "Cancel(取消)";
                // 清空按钮文本
                s.ClearOption.Text = "Clear(清空)";
            });

            dialog.Show();

            if (dialog.Result.IsCancel)
            {
                Toast.Show("取消输入");
            }
            else
            {
                Toast.Show($"输入内容为:{dialog.Result.Data}");
            }

多行输入对话框 MultiLineDialog

ApeForms | C# - WinForm临时对话框(消息框、提示框、输入框、密码框、单选框、多选框等)

            var dialog = provider.CreateInputDialog(s =>
            {
                // 标题文本
                s.Title = tbTitle.Text;
                // 消息文本
                s.Content = tbContent.Text;
                // 输入框默认文本
                s.DefaultText = "You can set the default text in the input box by using the 'DefaultText' property.";
                // 是否可取消
                s.Cancelable = true;
                // 是否允许输入为空
                s.AllowEmpty = false;
                // 输入文本最大长度
                s.MaximumLength = 200;
                // 输入文本最小长度
                s.MinimumLength = 6;
                // 是否多行
                s.IsMultiline = true;
                // 确认按钮文本
                s.ConfirmOption.Text = "Confirm(确定)";
                // 取消按钮文本
                s.CancelOption.Text = "Cancel(取消)";
                // 清空按钮文本
                s.ClearOption.Text = "Clear(清空)";
            });

            dialog.Show();

            if (dialog.Result.IsCancel)
            {
                Toast.Show("取消输入");
            }
            else
            {
                Toast.Show($"输入内容为:{dialog.Result.Data}");
            }

密码输入对话框PasswordDialog

ApeForms | C# - WinForm临时对话框(消息框、提示框、输入框、密码框、单选框、多选框等)

            var dialog = provider.CreatePasswordDialog(s =>
            {
                s.Title = tbTitle.Text;
                s.Content = tbContent.Text + $"\r\n提示:密码至少要[6]位";
                s.PasswordChar = '●';
                s.PrecheckResult = password => password != null && password.Length >= 6;
            });

            dialog.Show();
            if (dialog.Result.IsCancel)
            {
                Toast.Show("取消输入");
            }
            else
            {
                Toast.Show($"输入密码为:{dialog.Result.Data}");
            }

提示对话框 PromptDialog

ApeForms | C# - WinForm临时对话框(消息框、提示框、输入框、密码框、单选框、多选框等)

            var dialog = provider.CreatePromptDialog(s =>
            {
                // 标题文本
                s.Title = tbTitle.Text;
                // 消息文本
                s.Content = tbContent.Text;
                // 积极选项文本
                s.PositiveOption.Text = "Yes";
                // 消极选项文本
                s.NegativeOption.Text = "No";
            }, null);

            dialog.Show();

            if (dialog.Result.Data)
            {
                Toast.Show("结果:积极选项");
            }
            else
            {
                Toast.Show("结果:消极选项");
            }

单选对话框 SelectionDialog

ApeForms | C# - WinForm临时对话框(消息框、提示框、输入框、密码框、单选框、多选框等)

            var dialog = provider.CreateSelectionDialog(students, null, s =>
            {
                // 标题文本
                s.Title = tbTitle.Text;
                // 消息文本
                s.Content = tbContent.Text;
                // 设置预检查回调
                s.PrecheckResult = item =>
                    {
                        var b = item != null;
                        if (!b)
                        {
                            Toast.Show("至少要选一项哦!", 2000, null, ToastMode.Reuse);
                        }
                        return b;
                    };
                s.ItemDisplayTextConvertCallback = stu => $"{stu.Name} ({stu.Description})";
            });

            dialog.Show();
            if (dialog.Result.IsCancel)
            {
                Toast.Show("取消选择");
            }
            else
            {
                Toast.Show($"结果:{dialog.Result.Data.Name} , {dialog.Result.Data.Description}");
            }

示例类型及数据:

        class Student
        {
            public Student(string name, string description)
            {
                Name = name;
                Description = description;
            }
            public string Name { get; set; }
            public string Description { get; set; }
        }
            Student[] students = new Student[] {
                new Student("张三","一年级"),
                new Student("李四","三年级"),
                new Student("王二","五年级"),
                new Student("马六","五年级"),
            };

多选对话框 MultipleSelectionDialog

ApeForms | C# - WinForm临时对话框(消息框、提示框、输入框、密码框、单选框、多选框等)

            var dialog = provider.CreateMultipleSelectionDialog(students, null, s =>
            {
                // 标题文本
                s.Title = tbTitle.Text;
                // 消息文本
                s.Content = tbContent.Text;
                // 设置预检查回调
                s.PrecheckResult = item =>
                {
                    var b = item.Any();
                    if (!b)
                    {
                        Toast.Show("至少要选一项哦!", 2000, null, ToastMode.Reuse);
                    }
                    return b;
                };
                s.ItemDisplayTextConvertCallback = stu => $"{stu.Name} ({stu.Description})";
            });


            dialog.Show();
            if (dialog.Result.IsCancel)
            {
                Toast.Show("取消选择");
            }
            else
            {
                Toast.Show($"结果:{string.Join("|", dialog.Result.Data.Select(s => $"{s.Name}({s.Description})"))}");
            }

示例数据与单选对话框 SelectionDialog示例数据一致。


UI库安装与使用

请参考文章:《ApeForms | WinForm窗体UI美化库(Metro扁平风格)演示与安装》
ApeForms | C# - WinForm临时对话框(消息框、提示框、输入框、密码框、单选框、多选框等)


获取示例源码

ApeForms UI库源码地址:https://github.com/ApeFree/ApeFree.ApeForms
ApeForms Demo源码地址:https://github.com/ApeFree/ApeFree.ApeForms.Demo
下载体验Demo.exe网盘链接:https://landriesnidis.lanzouy.com/b011mr7rg 密码:26fx
加入ApeForms QQ群答疑解惑:929371169文章来源地址https://www.toymoban.com/news/detail-403601.html

到了这里,关于ApeForms | C# - WinForm临时对话框(消息框、提示框、输入框、密码框、单选框、多选框等)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • QT 消息对话框按钮显示

    搞QT嘛,大多数都是军工。都要国产化,而且消息对话框的按钮的英文也不是很得劲,所以需要汉化。使用静态函数的按钮就是显示英文,汉化的代码如下。 QmessageBox功能挺强大的,可以设置默认的按钮,也可以设置点击窗口的关闭按钮实际上点击的是那个按钮,默认情况下

    2024年02月10日
    浏览(61)
  • Qt消息对话框的使用

    本文介绍Qt消息对话框的使用。 QMessageBox类是Qt编程中常用到的一个类,主要用来进行一些简单的消息提示,比如:问题对话框,信息对话框等,这些对话框都属于QMessageBox类的静态方法,使用起来比较简单,方便。 函数原型: 其中, parent:指定父窗口 title:对话框标题 text

    2024年02月07日
    浏览(99)
  • [WPF]动手写一个简单的消息对话框

    消息对话框是UI界面中不可或缺的组成部分,用于给用户一些提示,警告或者询问的窗口。在WPF中,消息对话框是系统原生(user32.dll)的MessageBox,无法通过Style或者Template来修改消息对话框的外观。因此,当需要一个与应用程序主题风格一致的消息对话框时,只能自己动手造

    2024年02月05日
    浏览(43)
  • 完善对话框,点击登录对话框,如果账号和密码匹配,则弹出信息对话框,给出提示R登录成功“,提供一个Ok按钮,用户点击OK后,关闭登录界面,跳转到其他界面,

    如果账号和密码不匹配,弹出错误对话框,给出信息\\\"账号和密码不匹配,是否重新登录\\\",并提供两个按钮Yes|No,用户点击Yes后,清除密码框中的内容,继续让用户进行登录,如果用户点击No按钮,则直接关闭登录界面如果用户点击取消按钮,则弹出一个问题对话框,给出信息

    2024年04月10日
    浏览(60)
  • C#之Winfrom自定义输入框对话框。

    在你的程序中,在需要触发输入框的地方添加一个按钮或其他事件处理器。例如,你可以在按钮点击事件中执行相应的代码和逻辑。 通过以上步骤,你可以在 WinForms 程序中创建一个带有输入框的自定义窗体,并在点击确定按钮后获取用户输入的值。确保根据实际需求修改输

    2024年02月14日
    浏览(37)
  • MFC为资源对话框添加消息处理函数和初始化控件

    现在我VC6新建了一个对话框工程;又在资源添加了一个新的对话框,并为新的对话框添加了名为CTestDlg的类; 在主对话框的cpp文件包含#include \\\"TestDlg.h\\\"; 在主对话框的cpp文件的OnInitDialog()成员函数中,添加2句,     CTestDlg tdlg;     tdlg.DoModal(); 就可以弹出这个对话框; 在新

    2024年01月18日
    浏览(49)
  • [HTML]Web前端开发技术25(HTML5、CSS3、JavaScript )JavaScript基础消息对话框告警框确认框提示框命名规范1标识符2关键字3保留字注释标识符和变量——喵喵画网页

    希望你开心,希望你健康,希望你幸福,希望你点赞! 最后的最后,关注喵,关注喵,关注喵,佬佬会看到更多有趣的博客哦!!! 喵喵喵,你对我真的很重要! 目录 前言 JavaScript程序 代码 消息对话框 消息对话框-告警框 消息对话框-确认框 消息对话框-提示框 JavaScript注释

    2024年02月20日
    浏览(55)
  • 【微信小程序创作之路】- 小程序事件绑定、动态提示Toast、对话框 Modal

    第六章 小程序事件绑定、动态提示Toast、对话框 Modal 本章主要讲解小程序事件绑定、动态提示Toast、对话框 Modal,结合代码示例,我们来研究一下! 事件是 视图层到逻辑层的通讯方式 。事件是小程序和用户互动的主要方式,通过事件将用户在 视图层 的行为,反馈到 逻辑层

    2024年02月14日
    浏览(52)
  • Unity C# 打开windows对话框选择文件夹或选择文件

    unity没有提供打开windows对话框的api,在开发种也会遇到选择系统文件夹或选择系统文件的需求

    2024年04月26日
    浏览(47)
  • 解决newbing提示“今日你已达到今天的对话限制, 登录以继续你的聊天”和bing没有聊天对话框的问题

            这几天想用newbing帮我收集一些数据集,但是我科学上网之后进入www.bing.com仍然没有弹出聊天选项。上网找了一些方法,让我清除cookie和更改微软账号地区设置。“聊天”框可以弹出了,但是一聊天就提示“今日你已达到今天的对话限制, 登录以继续你的聊天”,点

    2024年02月11日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包