WinForm对话框详解:信息框、文件对话框、功能对话框

对话框是开发中经常用到的控件,甚至在上古的MFC编程中,默认就是把一个对话框编辑成窗口。winForm提供了多种不同的对话框,包括信息框、文件对话框、功能对话框等,下面逐个演示这些消息框。

但在此之前,需要稍微做一点准备工作,新建一个winForm工程,拖动一个TextBox用于信息回传,命名为tbInfo。如果不熟悉winform,可参考这篇

本文源码地址:源码

信息框

拖动一个按钮,文本内容为弹出信息框,名字改为btnMsgBox,双击创建点击函数

private void btnMsgBox_Click(object sender, EventArgs e)
{
    var res = MessageBox.Show("我是信息框");
    tbInfo.AppendText(res.ToString());
}

上面是最简单的信息框测试函数,通过调用MessageBox中的静态方法Show,实现了点击按钮弹出信息框的功能,效果如下

在这里插入图片描述

MessageBox.Show提供了多种重载方案,但所有重载方案都将返回一个DialogResult的枚举类型,其定义如下

012345671011
NoneOKCancelAbortRetryIgnoreYesNoTryAgainContinue

这些枚举类型,将在相应的功能信息框中得到体现,例如下面的代码

private void btnMsgBox_Click(object sender, EventArgs e)
{
    var res = MessageBox.Show("选择哪一个?", "是否取消", MessageBoxButtons.YesNoCancel);
    tbInfo.AppendText(res.ToString());
}

效果如下

在这里插入图片描述

文件对话框

WinForm提供了多种文件对话框,包括

  • OpenFileDialog 文件选择对话框
  • SaveFileDialog 文件保存对话框
  • FolderBrowserDialog 文件夹选择对话框

这三个对话框均通过ShowDialog函数来进行弹出交互,其返回值与MessageBox.Show一样,都是枚举类型DialogResult

但很显然,我们使用文件对话框,要的并不是一个OK或者取消标志,而是选择的文件或者文件夹名字。在OpenFileDialogSaveFileDialog中,提供了FileName属性,用于保存选择或者新建的文件名;文件夹对话框则提供了SelectedPath属性,表示选择的文件夹。

由于三者大同小异,故下面先演示一下文件夹选择对话框,在文件夹对话框中,通过设置InitialDirectory可以设置默认打开的文件夹

示例如下

private void btnSlctFolder_Click(object sender, EventArgs e)
{
    var fbd = new FolderBrowserDialog();
    fbd.InitialDirectory = Directory.GetCurrentDirectory();
    var res = fbd.ShowDialog();
    tbInfo.AppendText($"{res}\r\n");
    tbInfo.AppendText(fbd.SelectedPath);
}

效果如下

在这里插入图片描述

在使用文件对话框时,会经常遇到选择特定格式的问题,这时通过设置Filter参数,可以实现只显示特定的文件格式,代码为

private void btnOpenFile_Click(object sender, EventArgs e)
{
    var ofd = new OpenFileDialog();
    ofd.Filter = "C#文件(*.cs)|*.cs";
    var res = ofd.ShowDialog();
    tbInfo.AppendText($"{res}\r\n");
    tbInfo.AppendText(ofd.FileName);
}

效果如下

在这里插入图片描述

功能对话框

WinForm中,可以非常便捷地设置颜色、字体以及打印机,并分别用下面三个对话框表示。

对话框简介重要属性
ColorDialog颜色对话框Color
FontDialog字体对话框Font
PrintDialog打印设置PrinterSettings

这些对话框的逻辑大同小异,区别无非是在选额特定内容后,存储这些内容的属性,即上表中的重要属性。

使用效果如下

在这里插入图片描述

  • 9
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

微小冷

请我喝杯咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值