黑马程序员_WinForm基础-记事本相关功能的编写
来源:互联网 发布:下厨房可以在淘宝 编辑:程序博客网 时间:2024/06/05 00:28
---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
记事本跟其他程序一样具有新建、打开、保存等功能,还可以对文本内容进行编辑(复制粘贴剪切等),还可以设置字体等,我们可以结合之前所学的WinForm知识,设计一个记事本,也具有相关的功能。下面是一些知识点,实现记事本的相关功能。
怎样使程序窗体大小发生变化时,控件对应的位置也保持不变?两种方法
1)设置对应控件的Anchor属性,可以定义到某些边的距离不变
2)设置对应控件的Dock属性,可以定义停靠在哪条边上或者填充整个窗体
读写文件
读一个文本文件:
1) 声明一个文件流对象
FileStream类,是操作文件流的一个类,也是在IO命名空间下
FileMode表示这个文件流的功能,是个枚举。
FileAccess:与FileMode配对使用,只取其中一个也行,FileMode是打开,其就是读取,FileMode是保存,其就是写入
FileShare:表示这个文件流在当前打开时,其他进程是否可以对其进行访问
2) 创建读写器
StreamReader类
Encoding:要使用的字符编码
3) 读取操作
ReadLine方法:读取一行
ReadToEnd方法:读取到最后
EndOfStream属性:指示是否读到文件末尾
4) 关闭读取器
5) 关闭文件流对象,释放对所操作文件的锁定
示例代码://第一步:声明一个文件流
FileStream fs =newFileStream(ofd.FileName,FileMode.Open, FileAccess.Read,FileShare.None); //第一个参数为文件名及路径
//第二步:创建读写器
StreamReader sr =newStreamReader(fs);
//第三步
txtText.Text =sr.ReadToEnd();//读取到最后,并赋给TextBox
sr.Close(); //关闭读取器
fs.Close(); //关闭文件流
写一个文本文件:
1) 声明一个文件流对象
2) 创建写入器
StreamWriter类
3) 写入操作
Write方法:写入全部
WriteLine方法:写入一行
4) 关闭写入器
5) 关闭文件流对象
示例代码:
FileStreamfs =new FileStream(sfd.FileName,FileMode.Create); //声明一个文件流对象
StreamWriter sr =newStreamWriter(fs,Encoding.Default); //创建写入器
sr.Write(txtText.Text); //写入操作
sr.Close();//关闭写入器
fs.Close();//关闭文件流对象
复制粘贴剪切
Copy()复制 Cut()剪切 Paste()粘贴
结合之前所学的对文件的相关操作(IO操作),这几个功能很容易就能做出来,就不再详细说明。
选择字体、颜色
FontDialog:选择字体对话框
ColorDialog:选择颜色对话框
选择字体代码示例:
FontDialogft =new FontDialog();//实例化一个FontDialog
ft.Font = txtText.Font; //把当前文本框的字体赋给ft,实现下次选择字体时,能看到上一次选择的字体
if (ft.ShowDialog()==DialogResult.OK)
{//选好了字体
txtText.Font = ft.Font;//把文本框的字体设置成选中的字体
}
选择字体颜色、背景颜色与上面代码类似,分别用的是ForeColor、BackColor属性。
配置文件
初始化程序时用到,可以按指定的配置进行初始化程序,可以实现用户打开程序时,初始化成上一次用户所设置的大小位置颜色等。
怎样保存配置文件?
创建一个写入器,写入一个文件,把文件放到指定的位置,下次打开时,从指定的位置找到配置文件,读取里面的内容,进行初始化程序,跟文件的写入读取类似,可以不用实例化一个文件流。
配置文件的文件名和后缀可以随意指定,比如:.app .cal .dll等
怎样保存颜色?
我们可以取得颜色的RGB三个数,保存的时候存这三个数,下次要用的时候读取出来,用Color的FromArgb方法设置颜色的RGB值。
示例代码
关闭程序时,获取相关配置,保存成配置文件:
intx = this.Location.X; //获取窗体的X坐标
inty = this.Location.Y; //获取窗体的Y坐标
intw = this.Size.Width; //获取窗体的宽度
inth = this.Size.Height; //获取窗体的高度
//创建一个写入器,指定配置文件 app.dll 及存储位置
StreamWritersw = new StreamWriter(Application.StartupPath +"\\app.dll",false);
//分别写入窗体的X Y坐标、宽度高度
sw.WriteLine(x.ToString());
sw.WriteLine(y.ToString());
sw.WriteLine(w.ToString());
sw.WriteLine(h.ToString());
//获取文字颜色的RGB值,并分别写入
sw.WriteLine(txtText.ForeColor.R);
sw.WriteLine(txtText.ForeColor.G);
sw.WriteLine(txtText.ForeColor.B);
sw.Close();//关闭写入器,释放对文件的锁定
启动程序时,读取配置文件,并初始化程序:
stringappPath = Application.StartupPath + "\\app.dll";//设定配置文件的路径,存在appPath中
if(File.Exists(appPath)) //确定配置文件是否存在
{//配置文件存在
//创建一个读取器
StreamReader sr =newStreamReader(appPath);
//分别读取X Y坐标、宽度和高度
int x = Convert.ToInt32(sr.ReadLine());
int y = Convert.ToInt32(sr.ReadLine());
int w = Convert.ToInt32(sr.ReadLine());
int h = Convert.ToInt32(sr.ReadLine());
//读取颜色的RGB值
int r = Convert.ToInt32(sr.ReadLine());
int g = Convert.ToInt32(sr.ReadLine());
int b = Convert.ToInt32(sr.ReadLine());
this.Location = new Point(x, y); //初始化窗体的位置
this.Size = new Size(w, h); //初始化窗体的宽度高度
txtText.ForeColor = Color.FromArgb(r, g, b);//设置颜色的RGB值
sr.Close();//关闭读取器,释放锁定的文件
}
---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
- 黑马程序员_WinForm基础-记事本相关功能的编写
- 黑马程序员_WinForm基础(一)
- 黑马程序员_WinForm基础(二)
- 黑马程序员_WinForm基础(三)
- 黑马程序员_Winform入门
- 黑马程序员_winform
- 黑马程序员_WinForm知识总结
- 黑马程序员_Winform控件概要
- 黑马程序员:论记事本的正确编写姿势
- 黑马程序员_学习日记3_WinForm
- 黑马程序员_WinForm身份证升位算法程序
- 黑马程序员_Winform中的一些小知识点
- 黑马程序员_winform和wpf学习
- 黑马程序员——用AWT写的假记事本,实现退出,保存,打开等功能
- 黑马程序员_java小程序——实现简单记事本的打开保存功能
- 黑马程序员——java基础——简单的记事本小程序
- 黑马程序员-java-记事本
- 黑马程序员html相关基础
- 用汇编实现数字转化为字符串的函数itoa
- Cocos2d-html5入门笔记(一)
- Trie树入门:HDU 1671
- 易控报警组态学习
- 在Eclipse里自动导入相应包的类名的快捷键
- 黑马程序员_WinForm基础-记事本相关功能的编写
- 更改navigationController push和pop界面切换动画
- IOS数据持久化
- oracle 10g体系结构及安全管理
- iOS UITextField控件
- iOS学习开发总结
- 在内存中读取函数的ShellCode并执行
- Eclipse maven-resources-plugin 错误
- asp.net 操作cookie