基于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# 字符串处理小工具

    C# 字符串处理小工具

    本文主要介绍C#字符串处理小工具,实现功能包括:转换为大写;转换为小写;反转字符串;匹配某字符串出现次数;正则匹配;base64加密;base64解密;ROT13加密解密;MD5 32位加密。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-03-03
  • Unity实现答题系统的示例代码

    Unity实现答题系统的示例代码

    这篇文章主要和大家分享了利用Unity制作一个答题系统的示例代码,文中的实现方法讲解详细,对我们学习或工作有一定的帮助,需要的可以参考一下
    2022-05-05
  • C#向PPT文档插入图片以及导出图片的实例

    C#向PPT文档插入图片以及导出图片的实例

    PowerPoint演示文稿是我们日常工作中常用的办公软件之一,本篇文章介绍了C#向PPT文档插入图片以及导出图片的实例,非常具有实用价值,需要的朋友可以参考下。
    2016-12-12
  • C#四舍五入(函数)用法实例

    C#四舍五入(函数)用法实例

    这篇文章主要介绍了C#四舍五入(函数)用法实例,有需要的朋友可以参考一下
    2013-11-11
  • 详解如何将.NET应用转换成Window服务

    详解如何将.NET应用转换成Window服务

    这篇文章主要为大家详细介绍了如何将.NET8.0应用程序转换成Windows服务,文中的示例代码讲解详细,有需要的小伙伴可以跟随小编一起学习一下
    2024-01-01
  • UnityShader实现百叶窗效果

    UnityShader实现百叶窗效果

    这篇文章主要为大家详细介绍了UnityShader实现百叶窗效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-11-11
  • C#实现的字符串相似度对比类

    C#实现的字符串相似度对比类

    这篇文章主要介绍了C#实现的字符串相似度对比类,本文直接给出类实现代码,代码中包含详细注释,需要的朋友可以参考下
    2015-07-07
  • 深入学习C#网络编程之HTTP应用编程(上)

    深入学习C#网络编程之HTTP应用编程(上)

    这篇文章主要介绍了如何学习C#网络编程之HTTP应用编程的相关知识,文中讲解的非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-06-06
  • C#.net中的类型转换详细介绍

    C#.net中的类型转换详细介绍

    C#.net中的类型转换详细介绍,需要的朋友可以参考一下
    2013-04-04
  • VS里使用C#制作窗口应用的项目实践

    VS里使用C#制作窗口应用的项目实践

    C#窗体的频率使用特别高,本文主要介绍了VS里使用C#制作窗口应用的项目实践,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02

最新评论