『原创』一个基于Win CE 5.0的Txt文件阅读器
最近,拿到一台亲戚送的GPS导航仪,其系统是基于WinCE5.0的,所以我觉得可以写点小程序上去,上网一搜,还附带破解方法,把GPS破解后就变成一台屏幕超大的PDA了,于是我想用它看电子书,无奈,WinCE的软件少之又少,而且下载到的txt阅读软件居然不能正常缩放字体,实在不爽,于是我打算自己写个简单的阅读器,下面是我的开发过程:
开发工具:Visual Studio 2008
开发语言:c#,还是这个好用
开发平台:Windows CE设备
开发过程:
首先我们先打开vs,然后建立一个c#语言的智能设备项目,记得平台选择.net cf 3.5,你也可以用2.0,这里只是方便我的叙述而已,其是一样的!
然后拖三个按钮,一个openFileDialog,一个textBox,和一个NumericUpDown控件到窗体上,如下图:
具体的设置你们可以下载参照源代码中的进行设置,这里不再赘述了。
然后添加如下代码给Open按钮:
openFileDialog1.ShowDialog();
FilePath = openFileDialog1.FileName;
Thread myThread = new Thread(new ThreadStart(ReadText));
myThread.IsBackground = true;
myThread.Start();
再在窗体代码中加入如下代码:
这里使用了回调,来启动一个后台线程读取文档。
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设置如下代码:
int iSize=Convert.ToInt32(numericUpDown1.Value);
txtContent.Font = new Font("Tahoma", iSize, FontStyle.Regular);
ok,大功告成!
现在你就可以把这个程序拿到设备上运行了,呵呵,现在唯一的问题是读取速度过慢,不知道是c#的效率问题,还是我的代码问题或者是Wince设备本身的问题。
这里是项目代码下载:点击下载
『原创』一个基于Win CE 5.0的Txt文件阅读器相关推荐
- 微软云盘配合服务器,『原创』开源5T微软云盘搭建教程onedrive index
前言 为什么搭建一个微软共享云盘?百度云.蓝奏云不好吗?百度云有会员限制功能,各种限制更是不少,蓝奏云速度超快,但是貌似不支持大文件.微软毕竟是大厂,可用的5T教育邮箱现在也很好搞到,之所以采用是因为 ...
- 分享一个基于 ABP(.NET 5.0) + vue-element-admin 管理后台
1.前言 分享一个基于ABP(.NET 5.0) + vue-element-admin项目.希望可以降低新手对于ABP框架的学习成本,感兴趣的同学可以下载项目启动运行一下.对于想选型采用ABP框架的 ...
- java license 开源_MinIO:一个基于Apache License v2.0开源协议的对象存储服务
MinIO Quickstart Guide--快速入门 MinIO 是一个基于Apache License v2.0开源协议的对象存储服务.它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构 ...
- [日推荐]『TheGolfGame』一个高端大气上档次的小程序
今天小编再来给大家推荐一个高端大气上档次的小程序 TheGolfGame 简介:The Golf Game是基于高尔夫教学的服务平台,为用户提供最专业的高尔夫教学指导,大量的教学视频,更有娱乐视频,让 ...
- 『原创』用C++开发WM应用系列(2)——拨打电话
用C++开发WM应用系列文章索引 引言: 在上一节中,我们通过了一个MFC智能设备程序项目,带大家一起走进了Native c++开发WM的大门,我们了解了如何为程序添加控件.事件,以及自定义自己的类. ...
- 搬砖之路----MusicPlayer 一个基于Vlc(2.0+)开发的android音乐播放器--浅析在android开发过程中播放器选择之路!
前言 MusicPlayer 是一款基于vlc播放器开发的一个音乐播放器,你也可以理解为在此核心上的搬砖之路,核心的内容并不是我写的,因此在正式写blog之前,感谢那些vlc核心的开发人员让我用到这么 ...
- 『原创』+『参考』基于PPC的图像对比程序——使用直方图度量
前言的前言: 最近小弟闲来无聊,就想到了在PPC上面来做个图像对比的小东东,查找各方资料,终于在今天初步完成了这个程序,现在整理之后和各位共勉.程序中还存在很多不足之处,大家尽管提出自己的意见和建议, ...
- 『原创』用C++开发WM应用系列(6)——深化ListBox控件
用C++开发WM应用系列文章索引 引言: 在上一篇博文中,我们简单的学习了ListBox控件的项添加.项的全部清除.接上一篇的尾巴,我们将在这篇博文中,介绍一些ListBox的小技巧吧,比如,获取选中 ...
- 『原创』再谈用 php 实现域名 whois 信息查询
之前为了做 <plog.cn 1-6位 超期待删 短域名 筛查工具>,特地在 plog.cn 服务器上部署了一个 whois 查询小工具.PS:使用方法 http://plog.cn/wh ...
最新文章
- 【每日一算法】最后一个单词的长度
- 11月15日BCH协议升级提案又双叒啜来了,请查收!
- 卡拉OK效果的实现-iOS音乐播放器
- PHP怎么做一个加法口诀,神奇的手指速算口诀,100以内的加减法一分钟学会
- LSGO软件技术团队2015~2016学年第二周(0907~0912)总结
- Gartner:2020年全球IaaS公有云服务市场增长40.7%
- hadoop集群搭建 修改配置文件(三台主机都要配置)
- 更新T1表,要添加一个条件A,但T1表没有A字段
- 业界总结 | BERT的花式玩法
- php常用的几个算法
- CentOS中MySQL5.6 数据库主从(Master/Slave)同步安装与配置详解
- [译]直观理解信息论
- Microsoft.XMLHTTP“没有权限”的错误
- c语言自学去视频,【视频教程】自学去全套c语言视频教程
- android tv 8 安装国内app,不花钱解决 Android TV 原生系统国内APP不显示图标
- 关于Flash闪存的扇区、块、页
- Amazon alexa skill开发中遇到的坑
- unity制作坦克大战
- 会议终端Mini-MCU功能调研
- shell编程实现:依次提示用户输入3个整数,脚本根据数字大小依次排序输出3个数字。
热门文章
- php websocket 是否在线_看完让你彻底理解WebSocket原理,附实战代码(包含前端和后端)...
- java servlet深入理解_java 步步惊心 (web ) 深入理解servlet
- 计算机运算的基本原理概论,[工学]7计算概论A A02 计算机的基本原理.pdf
- mplab x ide 中文使用手册_SCI必备利器:翻译又快又准,强推这款超牛X的神器!...
- python写mapreduce_用python写MapReduce函数——以WordCount为例
- GPU Gems2 - 2 使用基于GPU几何体裁剪图的地形渲染(Terrain Rendering Using GPU-Based Geometry Clipmaps)
- mockjs中的方法(三)
- python day5--正则表达式
- Discretized Streams: An Efficient and Fault-Tolerant Model for Stream Processing on Large Clusters
- jQuery导入代码片段并绑定事件