仅需 1 个对象,C# WinForms 轻松选择指定类型文件
|
admin
2024年12月2日 9:46
本文热度 315
|
前言
嗨,大家好!
在开发桌面应用程序时,我们总是避免不了与本地文件打交道,比如读取电子表格里的数据。
无论是处理用户上传的文件,还是读取其他文件,文件选择都是一个不可或缺的环节。
今天,我想和大家分享一个实战例子,和你一起探讨如何在 WinForms 应用程序中使用 OpenFileDialog 选择特定类型的文件。这个过程不仅简单,而且能大大提升你的应用程序的用户体验。
准备好了吗?让我们一步步来看看吧!
Step By Step 步骤
1. 创建一个新的 WinForms 应用程序
首先,打开 VS IDE,创建一个新的 WinForms 应用程序,命名为 "FileSelectionExample"
2. 打开默认的Form1
窗体
在解决方案资源管理器中找到Form1
窗体,双击打开设计视图
3. 添加控件
从 IDE 左边的工具箱中拖动一个Button
控件到表单上,设置其Text
属性为 "选择文件"。
再拖动一个TextBox
控件到表单上,用于显示所选文件的路径。如图:
4. 双击按钮控件
双击按钮控件,自动生成并跳转到代码界面中的按钮点击事件处
5. 编写按钮点击事件处理程序
在按钮点击事件处理程序中添加以下代码,留意代码中的注释:
private void button1_Click(object sender, EventArgs e)
{
// 创建 OpenFileDialog 对象
using (OpenFileDialog openFileDialog = new OpenFileDialog())
{
// 设置文件过滤器,只允许选择电子表格文件
// Filter 属性的格式是一个字符串,其中包含一个或多个过滤器项,每个过滤器项由两部分组成:描述和模式
// 这两部分之间用竖线 | 分隔,不同的过滤器项之间也用竖线 | 分隔
// 模式可以包含多个扩展名,用分号 ; 分隔
// 下面的过滤器,电子表格 (*.xlsx; *.xls) 是描述,*.xlsx;*.xls 是模式
openFileDialog.Filter = "电子表格 (*.xlsx; *.xls)|*.xlsx;*.xls";
// 允许选择多个文件,默认为 false
openFileDialog.Multiselect = true;
// 显示对话框并检查用户是否点击了“确定”
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
// 获取所选文件的路径
string[] fileNames = openFileDialog.FileNames;
// 清空 TextBox
textBox1.Clear();
// 将所选文件路径添加到 TextBox 中
foreach (string fileName in fileNames)
{
textBox1.AppendText(fileName + Environment.NewLine);
}
}
}
}
6. 运行应用程序
运行应用程序,点击 "选择文件" 按钮,你会看到弹出一个文件选择对话框,并且只能选择电子表格文件。
选择文件后,所选文件的路径将显示在TextBox
控件中。
7. 完成
到此,整个程序就完成了。是不是很简单?
总结
通过使用OpenFileDialog
,我们可以轻松实现文件选择功能,界面友好,用户体验也非常好。更重要的是,这种方式能有效控制文件访问,避免随意访问用户的文件,从而提高安全性。
当然,除了 OpenFileDialog 之外,我们还可以让用户通过拖放的方式选择文件,这个实现稍微复杂一些,需要一些额外的编码来处理事件。
该文章在 2024/12/2 9:46:35 编辑过