WinForm 对话框,流
private void button1_Click(object sender, EventArgs e)
{
//显示颜色选择器
colorDialog1.ShowDialog(); //把取到的颜色赋值给panel
panel1.BackColor = colorDialog1.Color; }


FontDialog:字体样式选择控件


private void button3_Click(object sender, EventArgs e)
{
//显示字体样式选择器
fontDialog1.ShowDialog(); //取值
label2.Font = fontDialog1.Font;
}


FolderBrowserDialog:文件夹选择控件


private void button2_Click(object sender, EventArgs e)
{
//显示文件夹选择器
folderBrowserDialog1.ShowDialog(); //取文件路径
label1.Text = folderBrowserDialog1.SelectedPath;
}


openFileDialog:文件选择控件
※限制打开的文件后缀:Filter = 文本文件|*.txt|所有文件|*.*;
一个显示一个后缀是一组,添加另一组需要继续使用'|'


private void button4_Click(object sender, EventArgs e)
{
//设置能够打开什么类型的文件
openFileDialog1.Filter = "文本文件|*.txt|所有文件|*.*"; //显示 DialogResult:获取或设置窗体的对话框结果
DialogResult dr = openFileDialog1.ShowDialog(); //取值
if (dr == DialogResult.OK)//为了防止用户不选择
{
label3.Text = openFileDialog1.FileName;
}
}


saveFileDialog:保存路径选择控件
※选择已有的文件会覆盖


private void button5_Click(object sender, EventArgs e)
{
//显示
DialogResult dr = saveFileDialog1.ShowDialog(); //取值
if (dr == DialogResult.OK)
{
label4.Text = saveFileDialog1.FileName;
} }


二、流 文件操作
流:(I/O)输入输出流
分类:文件流,内存流,网络流
流的操作一般要放在try catch里面,操作文件网络容易出现异常
命名空间:using system .IO;
using system .Text; //二进制转换需要的命名空间
(一)类:FileStream:文件流
1.构造:一般用第三个和第六个重载
FileStream stream = new FileStream("d:\\test.txt"(路径),FileMode.Creat(打开模式),FileAccess.Read(只读));
※写路径的时候前面加@"d:\test.txt",或者写双斜杠
第二个参数 枚举类型
CreateNew 指定操作系统应创建新文件,如果文件存在则引发异常。
Create 指定操作系统创建新文件,如果文件已存在则覆盖之。
OPen 指定 操作系统应打开现有文件,如果文件不存在则抛出异常。
OpenOrCreate 指定操作系统应打开文件,如果文件不存在则创建之。
Truncate 指定操作系统打开现有文件,如果文件已存在则清空,从Truncate打开的文件中读取将引发异常。
Append 若文件存在,则找到文件并找到文件结尾,或者创建一个新文件。
第三个参数 确定访问文件的方式 默认可读可写
Read 只读 对文件的读访问,拥有读取权限。
Write 只写 对文件的写访问,拥有写入权限。
ReadWrite 可读可写 对文件的读访问和写访问,拥有读取和写入两个权限。
2.属性:
Length :流的长度
Position:流的当前位置,探测光标的当前位置
3.方法:
Write(byte[]流的内容,int从第几个位置写,int写入长度);
参数,第一个二进制数组,第二个从哪个位置开始写一般从0开始,第三个写进去多长(一般用Length,需要强转为int)。
Read(byte[]存放读出流的空间,int从第几个位置读,int读多长);读文件
seek(int偏移量,SeekOrigin.Begin(从哪计算偏移量))调整流的当前位置,seek(0,seekOrigin.End),将光标移到末尾
Flush();清除缓存
Close();关闭流
4.用法:
读文件内容:


private void button1_Click(object sender, EventArgs e)
{
//显示工具
DialogResult dr = openFileDialog1.ShowDialog(); //取值
if (dr == DialogResult.OK)
{
//文件路径
string path = openFileDialog1.FileName; //造文件流
FileStream fs = new FileStream(path,FileMode.Open); //造一个二进制数组,用来存储读到的数据
byte[] sj = new byte[fs.Length]; //将文件读取为二进制数据,放到二进制数组里面
fs.Read(sj,0,sj.Length); //将二进制数据转为字符串 Encoding格式转换 Default自动获取当前程序的编码方式 Getstring返回字符串
richTextBox1.Text = Encoding.Default.GetString(sj); //关闭流
fs.Close();
} }


写文件:把写的内容存入


private void button2_Click(object sender, EventArgs e)
{
//显示选择文件对话框
DialogResult dr = saveFileDialog1.ShowDialog(); //取路径
if (dr == DialogResult.OK)
{
//文件路径
string path = saveFileDialog1.FileName; //取出文本框中的内容
string nr = richTextBox1.Text; //将字符串转为二进制数组
byte[] sj = Encoding.Default.GetBytes(nr); //造一个文件流
FileStream fs = new FileStream(path,FileMode.Create); //向文件里面写数据
fs.Write(sj,0,sj.Length); //关闭流
fs.Close();
}
}


(二)StreamWrite类:只能写


private void button3_Click(object sender, EventArgs e)
{
//显示选择文件对话框
DialogResult dr = saveFileDialog1.ShowDialog(); //取路径
if (dr == DialogResult.OK)
{
//文件路径
string path = saveFileDialog1.FileName; //取出文本框中的内容
string nr = richTextBox1.Text;//造一个文件流
FileStream fs = new FileStream(path, FileMode.Create); //造一个StreamWrite对象
StreamWriter sw = new StreamWriter(fs, Encoding.Default); //写入文件
sw.Write(nr); //关闭
sw.Close();
fs.Close();
}
}


第一种方式,使用流
StreamWriter sw = new StreamWriter(fs,Encoding.Default);
第二种方式,不使用流 第二个参数是是否追加内容
StreamWriter sw = new StreamWriter(path,true,Encoding.Default);
(三)StreamRead类:只能读
//取文件路径
string path = saveFileDialog1.FileName;
//打开文件流
FileStream fs = new FileStream(path,FileMode.Create,FileAccess.Write);
//第一种方式,使用流
StreamReader sr = new StreamReader(fs,Encoding.Default);
//第二种方式,不适用流
//StreamReader sr = new StreamReader(path,Encoding.Default);
//读一行
richTextBox1.Text = sr.ReadLine();
//读所有
richTextBox1.Text = sr.ReadToEnd();
//关闭
sr.Close();
WinForm 对话框,流的更多相关文章
- WinForm对话框
WinForm 对话框控件colorDialog - 颜色选择对话框 使用代码如下: private void 字体颜色ToolStripMenuItem_Click(object sender, E ...
- winform 对话框、打印框
winform 对话框控件 1.打开文件对话框(OpenFileDialog) 2.保存文件对话框(SaveFileDialog) 3.字体对话框(FontDialog) 4.颜色对话框(ColorD ...
- C#窗体 WinForm 对话框,流
一.对话框 ColorDialog:颜色选择控件 private void button1_Click(object sender, EventArgs e) { //显示颜色选择器 colorDia ...
- winform —— 对话框和流及打印
对话框: 注意引用using System.IO; showdialog();显示对话框,返回一个dialogresult的枚举类型 colorDialog:color属性,用来获取颜色 folde ...
- WinForm 对话框、流
一.对话框 ColorDialog:颜色选择控件 private void button1_Click(object sender, EventArgs e) { //显示颜色选择器 colorDia ...
- winform对话框控件、打印控件
对话框控件: ColorDialog:颜色选择对话框,让用户自行选择一种颜色,使用方法类似FontDialog FontDialog:字体选择对话框,让用户自行选择一种字体(也可以选择字体颜色,需要在 ...
- winform 对话框,保存,另存为,还有打印控件
学习的对话框的种类: 1.打开文件对话框(OpenFileDialog) 2.保存文件对话框(SaveFileDialog) 3.字体对话框(FontDialog) 4.颜色对话框(ColorDial ...
- winform对话框控件
(1)ColorDialog 用户自定义颜色控件 点击颜色按键,改变richTextBox1中字体的颜色 private void button1_Click(object sender, E ...
- winform 对话框控件,打印控件
1.文件对话框(FileDialog) 它又常用到两个: 打开文件对话框(OpenFileDialog) 保存文件对话框(SaveFileDialog) 2.字体对话框(FontDialog) 3.颜 ...
随机推荐
- 3 微信开发本地代理环境的搭建--实现将内网ip映射到外网
微信公众号的开发,要搭建网站,并且随时都有可能修改网站内容进行调试,这就需要临时外网能返回本地开发环境搭建的项目进行测试,即内网映射到公网,但是好多开发者没有自己的域名和服务器,这里我们先来搭建一个本 ...
- DLR之 ExpandoObject和DynamicObject的使用演示样例
ExpandoObject :动态的增删一个对象的属性,在低层库(比如ORM)中非常实用.因为ExpandoObject实现了IDictionay<string, object>接口,常见 ...
- HTML的DOM和浏览器的BOM
DOM和BOM的区别 HTML DOM 的 document 是 BOM 的 window 对象的属性之一: 通过可编程的对象模型,JavaScript 获得了足够的能力来创建动态的 HTML. Ja ...
- 磁盘扩容 磁盘阵列(Redundant Arrays of Independent Disks,RAID)
磁盘阵列(Redundant Arrays of Independent Disks,RAID) 云 500G 不够用 扩容 方案1 重建分区,由500G到1T,按历史增速,1年后再扩到1.5T, ...
- Deep Learning 29: caffe入门学习
1.跑教程:深度学习(六)caffe入门学习,上面有比较好的注释 .prototxt文件:网络结构文件 solver.prototxt:网络求解文件 net: "examples/mnist ...
- YTU 2915: Shape系列-1
2915: Shape系列-1 时间限制: 1 Sec 内存限制: 128 MB 提交: 283 解决: 221 题目描述 小强开始迷恋彩色的Shape,于是决定做一个Shape类.Shape类有 ...
- 解决多次异步请求紊乱问题 - JavaScript
加入目前的需求这样的: 左边的菜单链接,点击后通过异步请求返回其HTML代码,然后innerHTML到右面的DIV中,加入切换菜单的速度非常快,最终会导致请求紊乱. 可以加入消息管理机制, ...
- Multi-threading Android Apps for Multi-core Processors – Part 1 of 2
Can my single-threaded application benefit from multiple cores? How? Even a single-threaded applicat ...
- 并不对劲的loj2179:p3714:[BJOI2017]树的难题
题目大意 有一棵树,\(n\)(\(n\leq2*10^5\))个点,每条边\(i\)有颜色\(w_i\),共有\(m\)(\(m\leq n\))种颜色,第\(i\)种颜色的权值是\(c_i\)(\ ...
- python 操作memercache类库
pip install python-memcached pip install pymemcache pip install python-libmemcached