C#文件名称查看器
C#期末课程设计作业,使用WPF完成
题目要求
获取指定文件夹下的所有文件:选择一个文件夹,其路径信息显示在文本框中,单击“显示文件”,显示该文件夹下的所有文件。
初始界面:
具体设计过程
创建工程什么的就不详细赘述了
界面设计
WPF的界面设计采用的是xaml语言来写
静态文本“文件夹名”和“文件列表”采用的是label控件
<Label Content=" 文件夹名:" Name="label1" Height="28" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="11,33,0,0" />
<Label Content=" 文件列表:" Name="label2" Height="28" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="11,73,0,0" />
两个静态文本后面对应的显示框采用textbox控件
<TextBox Name="textbox1" FontSize="15" Height="Auto" Margin="101,33,30,258" IsHitTestVisible="False" />
<TextBox Name="textbox2" FontSize="15" Height="Auto" Margin="101,73,30,10" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto" AcceptsReturn="True" IsReadOnly="True" />
- IsHitTestVisible:声明此元素是否可以作为其呈现内容的某部分的命中测试结果返回。(如果为false,该控件无法响应各种事件)
- HorizontalScrollBarVisibility,VerticalScrollBarVisibility:添加滚动条,且属性置为Auto,只有当需要滚动条时才显示出来
- AcceptsReturn:是否允许输入回车符,用来设置按回车时是触发AcceptButton还是回车,因为在第二个显示框每个文件名都需要换行,所以置为True
- IsReadOnly:第二个显示框只用于显示而不用于输入,所以该属性置为True
两个按钮
<Button Content="浏览文件夹" Click="Button_Click" Canvas.Left="10" Canvas.Top="10" HorizontalAlignment="Left" VerticalAlignment="Top" Width="75" Margin="11,247,0,0"/>
<Button Content=" 显示文件" Click="Button_Click1" Canvas.Left="10" Canvas.Top="10" HorizontalAlignment="Left" VerticalAlignment="Top" Width="75" Margin="10,281,0,0"/>
- 两个按钮都设置了Click属性用于之后添加鼠标点击响应
后端代码
浏览文件夹按钮:
FolderBrowserDialog m_Dialog = new FolderBrowserDialog(); //定义一个打开文件夹的对象
private void Button_Click (object sender, RoutedEventArgs e) //添加按键的事件
{
DialogResult result = m_Dialog.ShowDialog();
if (result == System.Windows.Forms.DialogResult.Cancel) return;
string m_Dir = m_Dialog.SelectedPath.Trim();
textbox1.Text = m_Dir;
}
显示文件按钮:
private void Button_Click1(object sender, RoutedEventArgs e)
{
textbox2.Text = "";
string m_Dir = m_Dialog.SelectedPath.Trim();
string[] files = System.IO.Directory.GetFiles(m_Dir, "*.*"); //获取m_Dir目录下的所有文件
foreach (string s in files) //循环输出结果
{
System.IO.FileInfo fi = null;
try
{
fi = new System.IO.FileInfo(s); //将文件依次赋给fi
}
catch (System.IO.FileNotFoundException ex)
{
Console.WriteLine(ex.Message);
continue;
}
textbox2.Text += m_Dir+"\\"+fi.Name;
textbox2.Text += Environment.NewLine;
}
}
使用
- 点击浏览文件夹
- 选择C盘后,点击显示文件按钮
如上图所示C盘目录下所有文件显示成功
最后的结果只会输出当前目录下的文件,文件夹不会输出。若想输出文件夹名称需要对后端代码进行修改