ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 一个好的txt阅读器

一个好的txt阅读器

原创 Linux操作系统 作者:freshairpeng 时间:2009-02-27 22:33:37 0 删除 编辑

开发工具:Visual Studio 2008

开发语言:c#,还是这个好用

开发平台:Windows CE设备

开发过程:

首先我们先打开vs,然后建立一个c#语言的智能设备项目,记得平台选择.net cf 3.5,你也可以用2.0,这里只是方便我的叙述而已,其是一样的!

然后拖三个按钮,一个openFileDialog,一个textBox,和一个NumericUpDown控件到窗体上,如下图:

具体的设置你们可以下载参照源代码中的进行设置,这里不再赘述了。

然后添加如下代码给Open按钮:

 


<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->openFileDialog1.ShowDialog();
            FilePath 
= openFileDialog1.FileName;
            Thread myThread 
= new Thread(new ThreadStart(ReadText));
            myThread.IsBackground 
= true;
            myThread.Start();

 

再在窗体代码中加入如下代码:

这里使用了回调,来启动一个后台线程读取文档。


<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--> public Form1()
        {
            InitializeComponent();
            addToText 
= new AddToContentCallBack(AddToTextContent);
         
        }
        
delegate void AddToContentCallBack(string Texts);
        AddToContentCallBack addToText;
        
private void AddToTextContent(string content)
        {
            
if (txtContent.InvokeRequired)
            {
                
this.Invoke(addToText, content);
            }
            
else
            {
                txtContent.Text 
= content;
            }
        }

  

        
private void ReadText()
        {
            StreamReader objReader 
= new StreamReader(FilePath, System.Text.Encoding.Default);
            
string strLine = "";
            
string strLine1 = "";
            ArrayList al 
= new ArrayList();
            
try
            {
               strLine 
= objReader.ReadToEnd();
               
                    
if (strLine != null)
                    {
                        AddToTextContent(strLine);
                    }
            
                
            }
            
catch(Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            
finally
            {
                objReader.Close();
            }
        }
        
private string FilePath;

 

至此,主要功能就完成了,下面再给字体设置按钮Change设置如下代码:

 


<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->int iSize=Convert.ToInt32(numericUpDown1.Value);

            txtContent.Font 
= new Font("Tahoma", iSize, FontStyle.Regular);

 

ok,大功告成!

现在你就可以把这个程序拿到设备上运行了,呵呵,现在唯一的问题是读取速度过慢,不知道是c#的效率问题,还是我的代码问题或者是Wince设备本身的问题。

 这里是项目代码下载:点击下载

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14766526/viewspace-558126/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-02-25

  • 博文量
    69
  • 访问量
    246467