一、记事本制作(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. Jboss remote getshell (JMXInvokerServlet) vc版

    #include "stdafx.h" #include <Windows.h> #include <stdio.h> #include <winht ...

  2. 获取浏览器的相关信息(navigator)

    * 智能机浏览器版本信息: * */ var browser = { versions: function() { var u = navigator.userAgent + navigator.ap ...

  3. Linux ls命令参数详解

    -a -- 全部(all).列举目录中的全部文件,包括隐藏文件(.filename).位于这个列表的起首处的 .. 和 . 依次是指父目录和你的当前目录.      -l -- 长(long).列举目 ...

  4. 2D游戏摄像机跟随不出界

    做2D游戏的时候碰上摄像机要跟随人物时要防止摄像机看到界面外的黑幕,直接上代码. using System.Collections; using System.Collections.Generic; ...

  5. 命令——WPF学习之深入浅出

    WPF学习之深入浅出话命令   WPF为我们准备了完善的命令系统,你可能会问:“有了路由事件为什么还需要命令系统呢?”.事件的作用是发布.传播一些消息,消息传达到了接收者,事件的指令也就算完成了,至于 ...

  6. 利用selenium爬取豆瓣电影Top250

    这几天在学习selenium,顺便用selenium + python写了一个比较简陋的爬虫,现附上源码,有时间再补充补充: from selenium import webdriver from s ...

  7. SQL Sever删除外键

    declare @sql varchar(max), @tab_name varchar(128), @fk_name varchar(128);declare c cursor forselect ...

  8. 经典SQL语句(转载)

    一.基础 1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份sql server --- ...

  9. ubuntu设置开机启动命令行模式

    1.命令: sudo gedit /etc/default/grub 找到这一行 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" (ubuntu ...

  10. tensorflow 学习笔记-1

    http://www.jianshu.com/p/e112012a4b2d 参考的网站 -------------------------------------------------------- ...