基于WPF開發(fā)txt閱讀器
需求分析
盡管現(xiàn)在比較主流的閱讀格式已經(jīng)是epub, modi
之類的,但txt
的使用范圍要遠(yuǎn)比前兩者廣泛,所以做一個txt閱讀器還是有必要的。
但是對于書籍閱讀而言,純文本不包含目錄信息,這對于閱讀來說是一種困擾。所以想做一個txt
閱讀器,首先要解決的痛點(diǎn)問題,就是目錄生成。
根據(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
文件,這里主要涉及到兩個知識點(diǎn),即文件對話框和文本文件讀寫。
首先為打開
按鈕添加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-02asp.net(C#)清除全部Session與單個Session的方法
下面小編就為大家?guī)硪黄猘sp.net(C#)清除全部Session與單個Session的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-12-12