基于WPF開發(fā)txt閱讀器
需求分析
盡管現(xiàn)在比較主流的閱讀格式已經是epub, modi之類的,但txt的使用范圍要遠比前兩者廣泛,所以做一個txt閱讀器還是有必要的。
但是對于書籍閱讀而言,純文本不包含目錄信息,這對于閱讀來說是一種困擾。所以想做一個txt閱讀器,首先要解決的痛點問題,就是目錄生成。
根據這個簡單的需求,可以將界面設置為下面這種結構

當然,暫時設置這幾種色彩,只是為了做個標記,左側淺綠色用于存放文件名,左下角淺藍色用于放置txt目錄;右側淺粉色用于放置一些系統(tǒng)設置,比如字體、背景、自動閱讀等。
中間用于顯示當前的閱讀內容。
最上方并沒有使用傳統(tǒng)的菜單,而是工具欄,????兩個手用于打開和關閉左側工具欄和右側工具欄。
導入用于打開文件夾,并導入文件夾中的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是包裹txt的GroupBox,上面代碼的功能是,打開文本文件后,將文本文件的名字設置為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開發(fā)txt閱讀器的文章就介紹到這了,更多相關WPF閱讀器內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
C#結合Spire.Doc?for?.NET實現(xiàn)將XML轉為PDF
可擴展標記語言(XML)文件是一種標準的文本文件,它使用自定義標簽來描述文檔的結構及其他特性,本文將演示如何使用?Spire.Doc?for?.NET?在?C#?和?VB.NET?中實現(xiàn)?XML?到?PDF?的轉換,有需要的可以了解下2026-03-03
C#實現(xiàn)快速將數(shù)據寫入Excel單元格
這篇文章主要為大家詳細介紹了如何使用C#實現(xiàn)快速將數(shù)據寫入Excel單元格,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下2024-03-03

