对话框:

1、颜色选择控件——ColorDialog

//显示颜色选择器   

colorDialog1.ShowDialog(); 

//把取到的颜色赋值给panel 

panel1.BackColor = colorDialog1.Color;

2、文件夹选择控件——FolderBrowserDialog

//显示文件夹选择器
folderBrowserDialog1.ShowDialog();
//把取到的文件夹用label1显示
label1.Text = folderBrowserDialog1.SelectedPath;

3、字体样式选择控件——FontDialog

//显示出来
fontDialog1.ShowDialog();
//选用字体样式改变label1字体样式
label1.Font = fontDialog1.Font;

4、文件选择控件——openFileDialog

//设置打开类型的文件
  openFileDialog1.Filter = "文本文件|*.txt|所有文件|*.*";

//显示
  DialogResult dr = openFileDialog1.ShowDialog();

//取值
  if (dr == DialogResult.OK)
  {
  label3.Text = openFileDialog1.FileName;
  }

5、保存路径选择控件——saveFileDialog

saveFileDialog1.ShowDialog();
label1.Text = saveFileDialog1.FileName;

 二、流  (I/O)输入输出流

分类:文件流,内存流,网络流

需要引用命名空间——using system .IO;

二进制转换需要的命名空间——using system .Text;

FileStream:文件流——一般用第三个重载方法

三个参数:1、路径2、打开模式3、访问方式

FileStream stream = new FileStream(@"d:\文件名.类型"(路径),FileMode.Creat(打开模式),FileAccess.Read(只读)); 

第二个参数:

  • CreateNew ——指定操作系统应创建新文件,如果文件存在则引发异常。
  • Create——指定操作系统创建新文件,如果文件已存在则覆盖之。
  • OPen——指定 操作系统应打开现有文件,如果文件不存在则抛出异常。
  • OpenOrCreate——指定操作系统应打开文件,如果文件不存在则创建之。
  • Truncate——指定操作系统打开现有文件,如果文件已存在则清空,从Truncate打开的文件中读取将引发异常。
  • Append——若文件存在,则找到文件并找到文件结尾,或者创建一个新文件。

第三个参数:

  • Read 对文件的读访问,拥有读取权限。
  • Write 对文件的写访问,拥有写入权限。
  • ReadWrite 对文件的读访问和写访问,拥有读取和写入两个权限。

属性:

  • Length:流的长度
  • Position:流的当前位置,探测光标的当前位置

用法:

1、读文件:

//显示工具
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,,sj.Length);
//将二进制数据转为字符串
richTextBox1.Text = Encoding.Default.GetString(sj);
//关闭流
fs.Close();
}

2、写文件:

 //显示选择文件对话框
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,,sj.Length);
//关闭流
fs.Close();
}

3、StreamWrite类:

//取文件路径
string path = saveFileDialog1.FileName;
//打开文件流
FileStream fs = new FileStream(path,FileMode.Create,FileAccess.Write); //第一种方式,使用流
StreamWriter sw = new StreamWriter(fs,Encoding.Default);
//第二种方式,不使用流
StreamWriter sw = new StreamWriter(path,true,Encoding.Default); //将字符串写入文件
sw.Write(richTextBox1.Text); //关闭
sw.Close();
fs.Close();

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();

Windowsforms 中对话框,流、文件操作的更多相关文章

  1. java中io对文件操作的简单介绍

    11.3 I/O类使用 由于在IO操作中,需要使用的数据源有很多,作为一个IO技术的初学者,从读写文件开始学习IO技术是一个比较好的选择.因为文件是一种常见的数据源,而且读写文件也是程序员进行IO编程 ...

  2. 笔记:I/O流-文件操作

    Java库中使用 Path 和 Files 类封装了在用户机器上处理文件系统所需要的所有功能,可以使用Paths来获取一个具体的Path对象,来表示具体的路径. 路径 Path表示的是一个目录名序列, ...

  3. C#IO流文件操作

    文件流 创建文件流 读写文件的第一步就是创建文件流,流是一个用于数据传输的个对象,它是FileStream类型,在创建一个文件流是需要在他的构造中指定参数 语法: FileStream 文件流对象=n ...

  4. git中 gitignore 忽略文件操作

    通常,.gitignore文件被放置在存储库的根目录中.根目录也称为父目录和当前工作目录.根文件夹包含组成项目的所有文件和其他文件夹.也就是说,您可以将它放在存储库中的任何文件夹中.你甚至可以有多个. ...

  5. 文件是数据(字节)流的抽象-为什么C++中会把文件操作抽象为fstream?

    这不过是返祖罢了.正确的问题是为什么会把数据流抽象成文件. 设备-字节流-文件. 一切皆为文件,所有不同种类的类型都被抽象成文件(比如:块设备,socket套接字,pipe队列). 文件抽象为数据流一 ...

  6. java学习(九) —— java中的File文件操作及IO流概述

    前言 流是干什么的:为了永久性的保存数据. IO流用来处理设备之间的数据传输(上传和下载文件) java对数据的操作是通过流的方式. java用于操作流的对象都在IO包中. java IO系统的学习, ...

  7. 在c#中IO流读写操作

    1.使用FileStream读写文件 文件头: using System;using System.Collections.Generic;using System.Text;using System ...

  8. java中IO流的操作

    读取转换流--读取键盘录入中键盘录入一行数据并打印其大写,发现就是读一行数据的原理.也就是readLine方法.能不能直接使用readLine方法来完成键盘录入一行数据的读取呢?readLine方法是 ...

  9. 4.关于QT中的QFile文件操作,QBuffer,Label上添加QPixmap,QByteArray和QString之间的区别,QTextStream和QDataStream的区别,QT内存映射(

     新建项目13IO 13IO.pro HEADERS += \ MyWidget.h SOURCES += \ MyWidget.cpp QT += gui widgets network CON ...

随机推荐

  1. Rust 1.7.0 语法基础 sep_token 和 non_special_token

    一.分隔符 sep_token 指的是分隔符, 是除了 * 和 + 之外的不论什么符号,通常情况下是使用 , 逗号. 比如: 宏的多个參数分隔,以下代码中的逗号就是 sep_token (target ...

  2. 命题作文:在一棵IPv4地址树中彻底理解IP路由表的各种查找过程

    这是一篇命题作文.近期一直想写点东西,但一直找不到题目.正好收到一封邮件,有人问我Linux路由表的布局问题以及路由缓存的问题,加之前些日子又帮人做了一个片上路由表,所以认为这是个好题目,索性花了多半 ...

  3. c语言学习-指针探究

    1:指针定义格式:格式:变量类型 *变量名用途:指针变量用于储存地址(only),也就是根据地址值,访问对应的存储空间. 注意.int *p 只能指向int类型的数据: 例: int a = 20; ...

  4. Bean Query 第一个版本号(1.0.0)已公布

    BeanQuery 是一个把对象转换为Map的Java工具库. 支持选择Bean中的一些属性.对结果进行排序和依照条件查询. 不只能够作用于顶层对象,也能够作用于子对象.很多其它具体的介绍能够看我的博 ...

  5. 2016/04/18 ①注册 注册处理 ② 审核 审核处理 ③登录 登录处理 ④需要jquery-1.11.2.min.js DBDA.php

    ① 注册   zhuceye.php <!DOCTYPE html> <html lang="en"> <head> <meta char ...

  6. 8核 16g 及时释放内存空间

    del  释放 大变量 所在内存空间 GB数据

  7. vim插件:显示树形目录插件NERDTree安装 和 使用【转】

    本文转载自:https://my.oschina.net/VASKS/blog/388907 下载和配置 NERDTree插件的官方地址如下,可以从这里获取最新的版本 https://github.c ...

  8. HTML标签防XSS攻击过滤模块--待优化

    HTML标签防XSS攻击过滤模块 http://cnodejs.org/topic/5058962f8ea56b5e7806b2a3

  9. 关于centOS7的一些笔记

    使用systemctl查看 开启 关闭服务: 查看: systemctl status arcgis.server 开启: systemctl start arcgis.server 关闭: syst ...

  10. TransposonPSI——转座子分析的入门自学

    最近需要做转座子分析,查找发现可以使用 TransposonPSI 来进行分析.但是登陆官网,该软件 update 时间为 2013 年,但是因为时间紧迫,暂时还没有进行其他方法的调研,所以先选用该软 ...