12-18Windows窗体应用小程序之记事本(1)
一、记事本制作(1)
C#结合窗体制作小程序,相比较之前的控制台应用程序可能要改善了好多,最起码界面看起来可以高仿一下了,但是最重要的还是要看其里面的功能是否实现。所以,要以实现其实用功能为主。今天利用C#制作简单的记事本应用程序。
1、首先,记事本主要包括五大模块:文件、编辑、格式、查看、帮助。而每一个模块下面又包括各自的基本功能,如:在“文件”中,新建、打开、保存、退出等等。所以,制作起来要耐心。
2、了解之后,利用窗体将“记事本”模型画出来。(很好画的。。)
大概就是这样子滴。

3、接下来,就是要一一实现它们的功能了。
1)文件
《1》“新建”文件:其实新建文件就相当于重新打开一个新的窗口。所以,会出现两个“记事本”窗口。

【查看代码】在“文件”--“新建”这个点击事件时,直接双击就可以进入Jishiben.cs中进行编辑操作代码。基本所有的点击事件都会有此操作,下面的不再一一说明。

以上是之前不完善的代码操作。下面的代码操作是经过完善之后的功能,也不会再出现两个窗口的情况了。
【查看效果图】当文本框中已有文字时,点击“新建”,首先会弹出“提示”窗口,是否需要保存;会出现三种情况(yes,no,cancel).

1>如果需要“保存”,就会继续下面“保存”操作。
2>如果不保存,点击“否”,就会恢复空白界面;
3>如果点击“取消”,则仍然停留在当前页面,不会清空文字。
《2》“打开”文件,是将之前操作的文件重新打开编辑。通过StreamReader操作。之后会专门做讲解。

【查看代码】

《3》“保存”文件,通过StreamWriter操作。之前对文件有过操作,在硬盘中有此文件路径时,当文本再次被编辑保存时,直接保存;
《4》“另存为”文件,是指文件第一次保存,都会出现文件“另存为”对话框;

【查看代码】

上面“打开”和“保存”操作是分别对文本进行打开和保存,当页面上已有文字时,但仍然会出现“另存为”对话框,而不是直接保存,以下代码就是解决这一问题;
首先要定义一个外部变量去接收内部的代码操作。
“打开”操作:

“保存”操作:

《5》页面设置
【查看效果图】

【查看代码】
在设计器--工具箱--打印中,可直接找到页面设置的控件,但光有控件不可以,这里需要有pagesetupDialog的“Document”事件(printDocument1).

页面设置主要跟“打印”有关。所以,要特别注意。
《6》打印
【查看效果】

【查看代码】

《7》退出(即关闭文本文档)

2)编辑
《1》撤销(//获取文本框中的文字长度,截取字符串中从索引0开始到最后一个字符的前一位重新赋给textBox1.Text)、剪切、复制、粘贴、删除

《2》查找
【查看代码】


【效果图】

《3》替换


【效果图】

12-18Windows窗体应用小程序之记事本(1)的更多相关文章
- 微信小程序入门---记事本增---删
第一.如何获取input框的值(form表单提交除外) bindinput事件 <input type='text' placeholder="请输入内容" placehol ...
- 微信小程序踩坑集合
1:官方工具:https://mp.weixin.qq.com/debug/w ... tml?t=1476434678461 2:简易教程:https://mp.weixin.qq.com/debu ...
- 微信小程序学习指南
作者:初雪链接:https://www.zhihu.com/question/50907897/answer/128494332来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...
- 微信小程序服务范围重大更新
12.29日,小程序服务范围做了重大更新,增对富媒体和工具类型的小程序,增加了很多细分领域 富媒体:增加资讯,FM电台,有声读物等,媒体平台可上小程序了 工具:信息查询,网络代理,健康,企业管理等 , ...
- 微信小程序导航:官方工具+精品教程+DEMO集合(1月7更新)
1:官方工具:https://mp.weixin.qq.com/debug/w ... tml?t=14764346784612:简易教程:https://mp.weixin.qq.com/debug ...
- 第二次作业之微信小程序
2.1 介绍产品相关信息 你选择的产品是? 微信小程序 为什么选择该产品作为分析? 在等待了1年多以后,小程序终于在今年初上线,即速应用在H5领域的累计,便承接在小程序上.8月7日,即速应用的用户微信 ...
- WordPress版微信小程序3.1.5版的新功能
产品的完善是无止境,每过段时间就会发现产品的新问题,使用的人越多,提的需求也会越多,我听得最多的一句话就是:如果加上某某功能就完美了.其实,完美是不存在的,每个人的视角不一样,完美的定义也是不一样的. ...
- WordPress版微信小程序3.0版发布
距离WordPress版微信小程序上一个版本的发布过去了一个月了.在此间,我的工作有些变化,加上正在开发新版本,目前开源版的完善和升级稍稍有些滞后. 虽然这个版本是3.0版,期间有个过渡的2.8版,不 ...
- WordPress版微信小程序2.6版发布
WordPress版微信小程序的完善和升级的工作一直都在进行中,我争取保证一个月可以出一个版本,希望通过一点点的改进,让这个开源产品日趋完美. 同时,pro版WordPress微信小程序也在紧锣密鼓的 ...
随机推荐
- hadoop集群安装规划
http://mp.weixin.qq.com/s?__biz=MzI5MDYxNjIzOQ==&mid=2247483999&idx=1&sn=016e4c4d0ba7bd9 ...
- 内核编译错误解答(elf_i386错误)
内核编译错误解答(elf_i386错误) 在编译内核过程中遇到的问题及解决方法: 1.root@org:/usr/src/linux# make menuconfig *** Unable to f ...
- Spring初学之注解方式配置bean
直接看代码: UserController.java package spring.beans.annotation.controller; import org.springframework.be ...
- Jquery取得iframe中元素的几种方法Javascript Jquery获取Iframe的元素、内容或者ID
query取得iframe中元素的几种方法 在iframe子页面获取父页面元素代码如下: $('#objId', parent.document);// 搞定... 在父页面 获取iframe子页面的 ...
- review06
使用关键字interface来定义一个接口.接口的定义和类定义很相似,分为接口声明和接口体. 接口体中包含常量的声明(没有变量)和抽象方法两部分.接口中只有抽象方法,没有普通方法.而且接口体中所有的常 ...
- thinkphp中如何使用phpspreadsheet插件
thinkphp中如何使用phpspreadsheet插件 一.总结 一句话总结:多百度,百度什么都有 1.thinkphp中用composer安装的插件的命名空间是什么? use PhpOffice ...
- hdu 5242 Game(树链剖分,贪心¥)
Game Time Limit: 3000/1500 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
- PowerCmd 2.2 注册码
PowerCmd 是共享软件,现分享注册码一枚: 用户名:Sub 注册码:PCMDA-86128-PCMDA-70594 来源:http://blog.csdn.net/subchen/article ...
- lucene搜索之facet查询原理和facet查询实例——TODO
转自:http://www.lai18.com/content/7084969.html Facet说明 我们在浏览网站的时候,经常会遇到按某一类条件查询的情况,这种情况尤以电商网站最多,以天猫商城为 ...
- hive_异常_01_ Terminal initialization failed; falling back to unsupported
一.异常现象 hive初始化数据库时,在执行了 schematool -initSchema -dbType mysql 这个命令时,终端抛出如下异常: [ray@rayner bin]$ schem ...