黑马程序员——WinFom复习之记事本

------- Windows Phone 7手机开发.Net培训、期待与您交流! -------

     -->学习WinForm知识,看着视频教程中老师做记事本非常简单,听着也觉得是那么一回事,但是今天上午我复习做记事本的时候才发现自己错了。

     -->制作记事本案例可以将之前WinForm的基础知识复习一遍,现分享一下学习收获——制作记事本步骤。

     -->第一步:设计文本框和上下文菜单。文本框停靠在窗体四周。上下文菜单设计及快捷键和加速键。

     -->知识点:文本框停靠在窗体四周,需要设置文本框属性Dock的值为Fill,无论窗体的大小如何改变,文本框都会随着窗体的变化而变化;

     ---------------上下文菜单需要用组件—MenuStrip,一级一级设置文字内容,通过&加字母来设置热键即加速键,运行时通过Alt加字母来实现;

     ---------------右击上下文菜单的文字内容,通过设置其属性—ShorcutKeys来设置快捷键,通过组合键来是实现功能。

     -->第二步:分别设置每一个菜单下文字的功能。双击文字或者设置对应的Click事件来实现功能。

     -->文件—新建功能:通过将文本框的内容赋为空或者用Clear方法清空当前内容。

     -->文件—打开功能:需要用到OpenFileDialog类,提示用户需要打开的文本文档,然后就是读取文本文档的内容。

     ----------------------------读取文本文档:

   ----------------------------声明一个文件流对象,用来存放读取的文件流对象: FileStream fs=newFileStream(ofd.FileName,FileMode.Open,FileAccess.Read, FileShare.None);

     ----------------------------创建读取器,用来将文件流中的数据读取出来:StreamReader sr = new StreamReader(fs, Encoding.Default);

     ----------------------------通过读取器将文件流中的数据读取到文本框中:txtInput.Text = sr.ReadToEnd();

     ----------------------------关闭读取器:sr.Close();

     ----------------------------关闭文件流:fs.Close();

    ----------------------------由于文件读取原理(文件流对象相当于容器,只有容器满了或者关闭才会将内容放到读取器中),上面两项关闭必须操作,否则无法成功读取文件。
     -->文件—保存功能:跟文件—打开功能类似,只不过是调用SaveFileDialog类,原理是一样的。另存为功能也是类似原理,只不过必须命名。

     -->编辑—复制和粘贴功能:调用文本框的Copy方法即可;粘贴功能调用文本框的Paste方法即可实现这两个功能。

     -->编辑—查找功能:文本查找功能需要弹出一个新的窗体—子窗体,设计时需重新声明一个对象,并在调用时显示该窗体,然后在子窗体中进行查找功能。

     ----------------------------注意当子窗体需要控制主窗体时,需要在主窗体中声明子窗体时将主窗体的应用—this,以参数形式传过去,子窗体必须重新写构造方法,然后在子窗体中进行查找,当进行查找时需要激活主窗体并选中查找到的内容。

     -->知识点:文本框的Select方法、字符串的IndexOf方法。

     -->编辑—替换功能:在文本查找功能基础上,将查找到的内容替换成我们需要的内容,需要用到字符串的Replace方法。

     -->第三步:需要进行优化改动,实现关闭未保存文件提示功能以及是否需要命名功能。

     ---------------用一个标志位判断文本文档是否改动,和一个存放文本名的变量,判断打开文件有名字,保存以及另存为是否需要命名等功能。

     -->注意:制作记事本需要理清整个思路,千万不要看一下已设计好的然后改一下代码,那样复习一点效果都没有,整合整个代码的逻辑。

     -->附上WinFom复习——记事本源代码

------- Windows Phone 7手机开发.Net培训、期待与您交流! -------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值