C#窗体 WinForm 对话框,流

一、对话框

ColorDialog:颜色选择控件

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

时间: 2024-11-07 09:35:06

C#窗体 WinForm 对话框,流的相关文章

WinForm 对话框、流

一.对话框 ColorDialog:颜色选择控件 private void button1_Click(object sender, EventArgs e) { //显示颜色选择器 colorDialog1.ShowDialog(); //把取到的颜色赋值给panel panel1.BackColor = colorDialog1.Color; } FontDialog:字体样式选择控件 private void button3_Click(object sender, EventArgs e

WinForm对话框

WinForm 对话框控件colorDialog - 颜色选择对话框 fontDialog - 字体选择对话框 字体选择对话框同时改变颜色 找fontDialog属性行为里面的 showColor 改为true加上一句改变字体颜色语句 textBox1.ForeColor = fontDialog1.Color;//改变字体颜色folderBrowserDialog - 文件路径选择对话框 openFileDialog - 打开文件对话框 saveFileDialog - 保存文件对话框 问题:

c# winform panel 流式布局 panel块可自动排列

代码下载地址  http://download.csdn.net/detail/simadi/7677053 c# winform panel 流式布局 panel块可自动排列,布布扣,bubuko.com

静态切割窗体+关联对话框

 静态切割窗体 创建静态切割窗体的步骤为: 1. 在父框架类中定义一个CSplitterWnd类型的成员对象. 2. 重载父框架类的CFrameWnd::OnCreateClient成员函数. 3. 在重载的CFrameWnd::OnCreateClient函数中调用CSplitterWnd成员对象的CreateStatic成员函数,然后能够调用CSplitterWnd成员对象的CreateView成员函数为每一个窗格创建视图.        实例:在主框架窗体中的客户区创建一个两行一列的静态切

winform 对话框,保存,另存为,还有打印控件

学习的对话框的种类: 1.打开文件对话框(OpenFileDialog) 2.保存文件对话框(SaveFileDialog) 3.字体对话框(FontDialog) 4.颜色对话框(ColorDialog) 5.打开文件夹对话框 FolderBrowserDialog ___________________________________________________________________________________________________________________

winform 对话框控件,打印控件

1.文件对话框(FileDialog) 它又常用到两个: 打开文件对话框(OpenFileDialog) 保存文件对话框(SaveFileDialog) 2.字体对话框(FontDialog) 3.颜色对话框(ColorDialog) 4.打开文件夹对话框 FolderBrowserDialog using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using

winform 对话框控件

1.文件对话框(FileDialog) 它又常用到两个: 打开文件对话框(OpenFileDialog) 保存文件对话框(SaveFileDialog) 2.字体对话框(FontDialog) 3.颜色对话框(ColorDialog) 4.打开文件夹对话框 FolderBrowserDialog using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using

练习:WinForm 对话框控件(文件读取、写入)

设计界面: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Threading.Tasks; using System.Windows.Forms; using System.IO; using System.Text; namespace 对话框

Winform 对话框

ColorDialog:显示可用颜色,以及用户可以自定义颜色的控件,以调色板对话框形式出现,可选择更改字体颜色 FolderBrowserDialog:显示一个对话框,提示用户选择文件夹 FontDialog:显示一个选择字体的对话框,可添加调节颜色功能,把此控件属性行为中的ShowColor默认值改为True OpenFileDialog:显示一个对话框,提示用户打开文件 SaveFileDialog:显示一个对话框,提示用户选择保存文件的位置 using System; using Syst