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微信小程序也在紧锣密鼓的 ...
随机推荐
- 逆向破解学习二之<TraceMe>
这次在破解TraceMe的时候,我有看过别人的视频.但是我并没有按照别人思路走,而是完全安全自己的思路试了一次.结果破解成功.新手学破解,如果有不对的地方,还请指出来. 004013A0 crackm ...
- 回溯法之k着色问题
package main import ( "fmt" ) type Graphic struct { edges [][]int colors int color []int f ...
- js状态模式
状态模式,当一个对象的内在状态改变时允许改变其行为,这个对象看起来是改变了其类. 状态模式主要解决的是当控制一个对象状态转换的条件表达式过于复杂时的情况.把状态的判断逻辑转移到表示不同状态的一系列类当 ...
- 按键(ESC ,F1,F2等)——wpf的命令处理方法
WPF窗体的命令绑定 方法一:使用代码 <WpfUI:View.CommandBindings> <CommandBinding Command="Help" ...
- Node.js_HTTP模块
HTTP服务器与客户端 http是node提供的模块,其中封装了一个高效的HTTP服务器和一个简易的HTTP客户端.http.server是一个基于事件的HTTP服务器,http.request则是一 ...
- python中的类和对象
类和对象 1. 类和对象和概念 类:共性事物的抽象,是对某一类具有共同事物的描述,是具有相同属性和方法的集合 对象:类的实例,是共性事物的一个体现,是这类事物中的每个个体 2. 总结: 类是对象的模板 ...
- poj3694 边-双连通分量+lca
题意:先给了一张无向图,然后依次加边,每次求桥的数量 题解:先用一次tarjan,我们可以标记桥的位置和记录桥的数量同时记录fa数组,然后更新边的时候我们可以用lca,因为在tarjan缩点之后得到了 ...
- ll 1164 线段树
http://www.ifrog.cc/acm/problem/1164 1164 - 战舰萝莉 Time Limit:2s Memory Limit:256MByte Submissions:85S ...
- hdu 3401 单调队列优化+dp
http://acm.hdu.edu.cn/showproblem.php?pid=3401 Trade Time Limit: 2000/1000 MS (Java/Others) Memor ...
- spring发布RMI服务(-)
spring发布RMI服务 最近交流了一个项目,需要从RMI.WebService.接口文件中采集数据到大数据平台,下面自己测试了通过Spring发布RMI服务. 说明:RMI服务要求服务端和客户端都 ...