Winform复习之记事本

     -->学习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方法。
     -->第三步:需要进行优化改动,实现关闭未保存文件提示功能以及是否需要命名功能。
     ---------------用一个标志位判断文本文档是否改动,和一个存放文本名的变量,判断打开文件有名字,保存以及另存为是否需要命名等功能。

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

     附上代码记事本

     备注:写于2013年5月13日

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章