一、记事本制作(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. codeforces707A:Brain's Photos

    Description Small, but very brave, mouse Brain was not accepted to summer school of young villains. ...

  2. jsp中的taglib

    JSP中使用Taglib 标准的JSP标记可以调用JavaBeans组件或者执行客户的请求,这大大降低了JSP开发的复杂度和维护量.JSP技术也允许你自定义的taglib,其实换句话说,taglib可 ...

  3. 安装及使用webpack

    Webpack 什么是webpack:现今的很多网页其实可以看做是功能丰富的应用,它们拥有着复杂的JavaScript代码和一大堆依赖包.为了简化开发的复杂度,前端社区涌现出了很多好的实践方法:1.模 ...

  4. android:descendantFocusability用法简析(转)

        开发中很常见的一个问题,项目中的listview不仅仅是简单的文字,常常需要自己定义listview,自己的Adapter去继承BaseAdapter,在adapter中按照需求进行编写,问题 ...

  5. HANA IMPORT AND EXPORT

    权限管控的过于严格,所以找机会写个导入导出的流程.从测试机传输到生产机 1 选中EXPORT , 导出将要传输的模型 也可以 在QUICK VIEW 里选中导入导出.个人爱好 2 选择传输的两种模式 ...

  6. selenium-webdirver api-定位方式

    1,8种单数定位方式 # 通过ID定位目标元素 driver.find_element_by_id('i1') # 通过className定位目标元素 driver.find_element_by_c ...

  7. java 网页 保存上传文件

    网页请求提交到另外一个jsp 进行处理 index.jsp <%@ page language="java" import="java.util.*" p ...

  8. python与mongodb

    一.mongodb的原理介绍: 特点: 为了理解以上特点,我们从一个真实的场景出发,介绍mongodb的原理:参考视频:https://www.youtube.com/watch?v=4SxHNmk5 ...

  9. java06-数组动手动脑

    1.阅读QiPan.java示例程序了解如何利用二维数组和循环语句绘制五子棋盘. 定义了一个私有的二维数组作为棋盘.并定义了长度.之后打印符号使之连接起来作为棋盘在控制台显示.建立缓冲区用来读取输入的 ...

  10. 门禁 IC卡 ID 卡 RFID 手环 NFC 银行卡 手机模拟门禁

    门禁 IC卡 ID 卡 RFID 手环 NFC 银行卡 手机模拟门禁 原因 最近给公司换了一个门禁. 旧的门禁按键面板已经破了. 不支持我的手环. 按了密码后竟然要按 #. 相关信息 查了资料记录一下 ...