C#控件使用小汇总【一】OpenFileDialog与SaveFileDialog

前言:

本人在校学生,刚接触到c#开发没多久,慢慢积累了一些写代码的经验。随着所学内容增加,渐微察觉大脑不够用,所以开通博客,一来整理学习所得,二来交流分享。
文件流的内容有很多,今天整理的是文本文件的文件流存储。
首先,必须导入系统命名空间:

using System.IO;

OpenFileDialog

提供一个打开文件管理器的窗口,并选择文件。声明方法:

OpenFileDialog f1 = new OpenFileDialog();

或者也可以直接使用控件。

SaveFileDialog

提供一个存储文件的窗口,并选择文件存储位置。这里使用调用控件的方法:

//文件类型筛选
saveFileDialog1.Filter = "文本文件|*.txt";

文件流StreamWriter

提供文件流的读取写入操作,声明方法:

StreamReader s = new StreamReader(textBox1.Text, Encoding.Default);
//创建文件流,Encoding.Default表示以默认编码方式读取文件

小应用:编写一个简单的记事本程序,用到上述方法

先看效果图:
在这里插入图片描述

按钮说明以及图片说明

“选择文件”按钮将打开文件选择对话框,待选择好文件后,四个textbox会显示出相应的文件信息。在这里插入图片描述
“读取”按钮将会将文件内容以文件流的形式读取到RichTextbox中。
在这里插入图片描述
“保存”按钮功能可以和“另存为”按钮合并,这里就跳过。
在这里插入图片描述
“另存为”按钮将打开文件保存对话框,待选择好文件路径后点击“保存”可以保存到相应位置。在这里插入图片描述

代码区

using System.Windows.Forms;
using System.IO;
using System.Windows;
namespace wen_jian_liu
{
    public partial class File : Form
    {
        public File()
        {
            InitializeComponent();
        }
        private void button5_Click(object sender, EventArgs e)
        {
            OpenFileDialog f1 = new OpenFileDialog();
            f1.Title = "选择文件";//打开文件对话框标题
            f1.Filter = "文本文件(*.txt)|*.txt|图像文件(*.jpg,*.bmp,*.png)|*.jpg;*.bmp;*.png";//文件类型筛选
            if (f1.ShowDialog() == DialogResult.OK)//选择文件后点击打开按钮
            {
                this.textBox1.SelectedText = f1.FileName;
                this.textBox2.SelectedText = f1.SafeFileName;
                this.textBox3.SelectedText = f1.Title;
                this.textBox4.SelectedText = f1.Filter;
            }
        }
        private void button2_Click(object sender, EventArgs e)
        {
            if (textBox1.Text == "")
            {
                MessageBox.Show("空路径!");
            }
            else
            {
                StreamReader s = new StreamReader(textBox1.Text.Trim(), Encoding.Default);//创建文件流,Encoding.Default表示以默认编码方式读取文件
                richTextBox1.Text = s.ReadToEnd();//将读取内容放至richTextBox1中
                s.Close();
                s.Dispose();
            }
         }
        private void button3_Click(object sender, EventArgs e)
        {
            saveFileDialog1.Filter = "文本文件|*.txt";//文件类型筛选
            if (saveFileDialog1.ShowDialog()==DialogResult.OK)//选择文件路径后点击保存按钮

            {
                string txtpath = saveFileDialog1.FileName;
                StreamWriter s = new StreamWriter(txtpath, true, Encoding.Default);
                s.WriteLine(richTextBox1.Text);//将richTextBox1.Text以字符流存入
                s.Close();
                s.Dispose();
                MessageBox.Show("文件已保存至:" + txtpath, "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
            }
        }
    }
    }

小结

文件流开启后使用完毕,为了避免资源浪费以及出现文件占用情况,应当使用

Close();
Dispose();

释放资源

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值