基于WPF开发txt阅读器

 更新时间:2023年06月05日 08:31:01   作者:微小冷  
这篇文章主要为大家详细介绍了如何基于WPF开发一个简单的txt阅读器,可以满足文本文件的读写和保存,感兴趣的小伙伴可以跟随小编一起学习一下

需求分析

尽管现在比较主流的阅读格式已经是epub, modi之类的,但txt的使用范围要远比前两者广泛,所以做一个txt阅读器还是有必要的。

但是对于书籍阅读而言,纯文本不包含目录信息,这对于阅读来说是一种困扰。所以想做一个txt阅读器,首先要解决的痛点问题,就是目录生成。

根据这个简单的需求,可以将界面设置为下面这种结构

当然,暂时设置这几种色彩,只是为了做个标记,左侧浅绿色用于存放文件名,左下角浅蓝色用于放置txt目录;右侧浅粉色用于放置一些系统设置,比如字体、背景、自动阅读等。

中间用于显示当前的阅读内容。

最上方并没有使用传统的菜单,而是工具栏,👈👉两个手用于打开和关闭左侧工具栏和右侧工具栏。

导入用于打开文件夹,并导入文件夹中的txt文件;打开则用于打开单个的txt文件;保存用于存储修改后的txt文本。

布局代码如下

<DockPanel LastChildFill="True">
    <ToolBar DockPanel.Dock="Top">
        <Button Content="👈"/>
        <Button Content="导入"/>
        <Button Content="打开" Click="btnOpenTxt_Click"/>
        <Button Content="保存" Click="btnSaveTxt_Click"/>
        <Button Content="👉"/>
    </ToolBar>
    <UniformGrid DockPanel.Dock="Left" Width="200" Columns="1">
        <ScrollViewer Margin="2">
        </ScrollViewer>
        <ScrollViewer Margin="2">
        </ScrollViewer>
    </UniformGrid>
    <StackPanel DockPanel.Dock="Right" Width="200">
    </StackPanel>
    <GroupBox x:Name="gbTxt" Header="无文件">
        <TextBox x:Name="txt" TextWrapping="Wrap" 
                 VerticalScrollBarVisibility="Auto">    
        </TextBox>
    </GroupBox>
</DockPanel>

读取文本文件

最基础的功能当然是打开/保存txt文件,这里主要涉及到两个知识点,即文件对话框和文本文件读写。

首先为打开按钮添加btnOpenTxt_Click事件,其内容为

private void btnOpenTxt_Click(object sender, RoutedEventArgs e)
{
    var ofd = new OpenFileDialog();
    ofd.Filter = "文本文件(*.txt)|*.txt";
    if (ofd.ShowDialog()!=true)
        return;
    gbTxt.Header = System.IO.Path.GetFileName(ofd.FileName);
    txt.Text = File.ReadAllText(ofd.FileName, Encoding.Unicode);
}

其中,txt文本框的名字;gbTxt是包裹txtGroupBox,上面代码的功能是,打开文本文件后,将文本文件的名字设置为GroupBox的标题,然后导入文本文件的内容到txt

效果如下

保存文本文件

保存功能与此类似,为保存按钮添加btnSaveTxt_Click事件,C#代码如下

private void btnSaveTxt_Click(object sender, RoutedEventArgs e)
{
    var sfd = new SaveFileDialog();
    sfd.Filter = "文本文件(*.txt)|*.txt";
    if(sfd.ShowDialog()!=true) return;
    File.WriteAllText(sfd.FileName, txt.Text, Encoding.UTF8);
}

到此这篇关于基于WPF开发txt阅读器的文章就介绍到这了,更多相关WPF阅读器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C#结合Spire.Doc for .NET实现将XML转为PDF

    C#结合Spire.Doc for .NET实现将XML转为PDF

    可扩展标记语言(XML)文件是一种标准的文本文件,它使用自定义标签来描述文档的结构及其他特性,本文将演示如何使用 Spire.Doc for .NET 在 C# 和 VB.NET 中实现 XML 到 PDF 的转换,有需要的可以了解下
    2026-03-03
  • C# 读写编辑INI文件的操作

    C# 读写编辑INI文件的操作

    INI就是扩展名为"INI"的文件,其实他本身是个文本文件,可以用记事本打开,主要存放的是用户所做的选择或系统的各种参数,这篇文章主要介绍了C#读写编辑INI文件的操作,需要的朋友可以参考下
    2023-05-05
  • C#实现异步操作的几种方式

    C#实现异步操作的几种方式

    在C#中,异步操作可以提高程序的性能和响应能力,本文主要介绍了C#实现异步操作的几种方式,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • C#实现快速将数据写入Excel单元格

    C#实现快速将数据写入Excel单元格

    这篇文章主要为大家详细介绍了如何使用C#实现快速将数据写入Excel单元格,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-03-03
  • C# 实现TXT文档转Table的示例代码

    C# 实现TXT文档转Table的示例代码

    这篇文章主要介绍了C# 实现TXT文档转Table的示例代码,帮助大家更好的理解和学习c#,感兴趣的朋友可以了解下
    2020-12-12
  • C#集合本质之队列的用法详解

    C#集合本质之队列的用法详解

    本文详细讲解了C#集合本质之队列的用法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-08-08
  • C#之字符串截取--Regex.Match使用

    C#之字符串截取--Regex.Match使用

    这篇文章主要介绍了C#之字符串截取--Regex.Match使用解读,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • WPF实现平面三角形3D运动效果

    WPF实现平面三角形3D运动效果

    这篇文章主要为大家详细介绍了WPF实现平面三角形3D运动效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-09-09
  • C#获取图片的后缀名解析

    C#获取图片的后缀名解析

    这篇文章主要介绍了C#获取图片的后缀名解析,需要的朋友可以参考下
    2014-02-02
  • c#操作sql server2008 的界面实例代码

    c#操作sql server2008 的界面实例代码

    这篇文章主要介绍了c#操作sql server2008 的界面实例代码,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-03-03

最新评论