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

當(dāng)然,暫時設(shè)置這幾種色彩,只是為了做個標(biāo)記,左側(cè)淺綠色用于存放文件名,左下角淺藍(lán)色用于放置txt目錄;右側(cè)淺粉色用于放置一些系統(tǒng)設(shè)置,比如字體、背景、自動閱讀等。
中間用于顯示當(dāng)前的閱讀內(nèi)容。
最上方并沒有使用傳統(tǒng)的菜單,而是工具欄,????兩個手用于打開和關(guān)閉左側(cè)工具欄和右側(cè)工具欄。
導(dǎo)入用于打開文件夾,并導(dǎo)入文件夾中的txt文件;打開則用于打開單個的txt文件;保存用于存儲修改后的txt文本。
布局代碼如下
<DockPanel LastChildFill="True">
<ToolBar DockPanel.Dock="Top">
<Button Content="??"/>
<Button Content="導(dǎo)入"/>
<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>讀取文本文件
最基礎(chǔ)的功能當(dāng)然是打開/保存txt文件,這里主要涉及到兩個知識點,即文件對話框和文本文件讀寫。
首先為打開按鈕添加btnOpenTxt_Click事件,其內(nèi)容為
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,上面代碼的功能是,打開文本文件后,將文本文件的名字設(shè)置為GroupBox的標(biāo)題,然后導(dǎo)入文本文件的內(nèi)容到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);
}到此這篇關(guān)于基于WPF開發(fā)txt閱讀器的文章就介紹到這了,更多相關(guān)WPF閱讀器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C#字節(jié)數(shù)組(byte[])和字符串相互轉(zhuǎn)換方式
這篇文章主要介紹了C#字節(jié)數(shù)組(byte[])和字符串相互轉(zhuǎn)換方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-02-02
asp.net(C#)清除全部Session與單個Session的方法
下面小編就為大家?guī)硪黄猘sp.net(C#)清除全部Session與單個Session的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-12-12

