在C# WinForms应用程序中,你可以使用`OpenFileDialog`类来实现这个功能。以下是一个简单的示例:
using System; using System.Windows.Forms; public partial class MainForm : Form { public MainForm() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { using (OpenFileDialog openFileDialog = new OpenFileDialog()) { openFileDialog.InitialDirectory = "c:\\"; // 指定的文件夹 openFileDialog.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"; // 文件过滤器 openFileDialog.FilterIndex = 2; openFileDialog.RestoreDirectory = true; if (openFileDialog.ShowDialog() == DialogResult.OK) { // 获取选定文件的路径 string filePath = openFileDialog.FileName; // 获取选定文件的名称 string fileName = openFileDialog.SafeFileName; // 在这里,你可以使用文件的路径和名称 MessageBox.Show("文件路径: " + filePath + "\n文件名: " + fileName); } } } }
在这个示例中,当你点击一个按钮时,会弹出一个`OpenFileDialog`对话框。你可以浏览到指定的文件夹,并选择一个文件。然后,对话框会返回选定文件的路径和名称。
请注意,你需要根据你的需求来修改这个示例。例如,你可能需要改变初始目录或文件过滤器,或者在用户选择文件后执行不同的操作。
添加文件选择类型限制
using System; using System.IO; using System.Windows.Forms; public partial class MainForm : Form { public MainForm() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { using (OpenFileDialog openFileDialog = new OpenFileDialog()) { openFileDialog.InitialDirectory = "c:\\"; // 指定的文件夹 openFileDialog.Filter = "cfg files (*.pdf)|*.pdf|All files (*.*)|*.*"; // 文件过滤器 openFileDialog.FilterIndex = 1; openFileDialog.RestoreDirectory = true; while (true) { if (openFileDialog.ShowDialog() == DialogResult.OK) { // 获取选定文件的路径 string filePath = openFileDialog.FileName; // 检查文件扩展名 if (Path.GetExtension(filePath).ToLower() != ".pdf") { MessageBox.Show("请选择一个.pdf文件。"); continue; } // 获取选定文件的名称 string fileName = openFileDialog.SafeFileName; // 在这里,你可以使用文件的路径和名称 MessageBox.Show("文件路径: " + filePath + "\n文件名: " + fileName); } break; } } } }