一、记事本制作(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)的更多相关文章

  1. 微信小程序入门---记事本增---删

    第一.如何获取input框的值(form表单提交除外) bindinput事件 <input type='text' placeholder="请输入内容" placehol ...

  2. 微信小程序踩坑集合

    1:官方工具:https://mp.weixin.qq.com/debug/w ... tml?t=1476434678461 2:简易教程:https://mp.weixin.qq.com/debu ...

  3. 微信小程序学习指南

    作者:初雪链接:https://www.zhihu.com/question/50907897/answer/128494332来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...

  4. 微信小程序服务范围重大更新

    12.29日,小程序服务范围做了重大更新,增对富媒体和工具类型的小程序,增加了很多细分领域 富媒体:增加资讯,FM电台,有声读物等,媒体平台可上小程序了 工具:信息查询,网络代理,健康,企业管理等 , ...

  5. 微信小程序导航:官方工具+精品教程+DEMO集合(1月7更新)

    1:官方工具:https://mp.weixin.qq.com/debug/w ... tml?t=14764346784612:简易教程:https://mp.weixin.qq.com/debug ...

  6. 第二次作业之微信小程序

    2.1 介绍产品相关信息 你选择的产品是? 微信小程序 为什么选择该产品作为分析? 在等待了1年多以后,小程序终于在今年初上线,即速应用在H5领域的累计,便承接在小程序上.8月7日,即速应用的用户微信 ...

  7. WordPress版微信小程序3.1.5版的新功能

    产品的完善是无止境,每过段时间就会发现产品的新问题,使用的人越多,提的需求也会越多,我听得最多的一句话就是:如果加上某某功能就完美了.其实,完美是不存在的,每个人的视角不一样,完美的定义也是不一样的. ...

  8. WordPress版微信小程序3.0版发布

    距离WordPress版微信小程序上一个版本的发布过去了一个月了.在此间,我的工作有些变化,加上正在开发新版本,目前开源版的完善和升级稍稍有些滞后. 虽然这个版本是3.0版,期间有个过渡的2.8版,不 ...

  9. WordPress版微信小程序2.6版发布

    WordPress版微信小程序的完善和升级的工作一直都在进行中,我争取保证一个月可以出一个版本,希望通过一点点的改进,让这个开源产品日趋完美. 同时,pro版WordPress微信小程序也在紧锣密鼓的 ...

随机推荐

  1. python 处理json

    Python处理JSON 概念 序列化(Serialization):将对象的状态信息转换为可以存储或可以通过网络传输的过程,传输的格式可以是JSON.XML等.反序列化就是从存储区域(JSON,XM ...

  2. Codeforces 893E Counting Arrays:dp + 线性筛 + 分解质因数 + 组合数结论

    题目链接:http://codeforces.com/problemset/problem/893/E 题意: 共q组数据(q <= 10^5),每组数据给定x,y(x,y <= 10^6 ...

  3. python中常见的日期换算

    time模块提供各种操作时间的函数  说明:一般有两种表示时间的方式:       第一种是时间戳的方式(相对于1970.1.1 00:00:00以秒计算的偏移量),时间戳是惟一的       第二种 ...

  4. 解决Navicat连接mysql报错:1862 - Your password has expired. To log in you must change it using a client that supports expired passwords.

    今天尝试用Navicat连接mysql时,发现一个1862的报错问题: 后来参照这篇文章https://blog.csdn.net/u010513756/article/details/5073501 ...

  5. mybatis中&gt;=和&lt;=的实现方式

    原因 mybatis使用的是xml格式的文件.使用>和<号的时候,会存在与xml的标签的规范冲突. 解决方案 >=使用 <![CDATA[>=]]> >< ...

  6. [非原创] 常用加密算法整理 AES/SSL(一)

    前言: 在伟大的计算机科学家研究下,发明了许多的加密算法,以下做个简答的描述: 一.分类 加密算法分为两种:单向加密.双向加密. 单向加密,不可逆的加密算法,只能加密不能解密: 双向加密,由对称性加密 ...

  7. IIFE 立即执行的函数表达式

    介绍IIFE IIFE的性能 使用IIFE的好处 IIFE最佳实践 jQuery优化 在Bootstrap源码(具体请看<Bootstrap源码解析>)和其他jQuery插件经常看到如下的 ...

  8. 基于鸿洋博客自定于View实现的android音量调节控件

    1.在values建立attrs.xml,写出你需要的属性: <?xml version="1.0" encoding="utf-8"?> < ...

  9. (转)android webview用法小结

    原文地址:http://blog.csdn.net/ethan_xue/article/details/7841431 将webview里常用的东西拿出来分享下 想要webview加载页面,只需web ...

  10. 剑指offer--12.不用加减乘除做加法

    位运算,好久没用了 &:都为1,结果为1 ^:相同为0,不同为1 |:有1,结果为1 <<:左移 ----------------------------------------- ...