C# 文件打开器,文本文档,图片

原创 小道  2019-01-03 16:06:18  阅读 1438 次 评论 0 条
摘要:

C# 文件打开器,文本文档,图片今天,没事复习复习前面所学的知识,就做了一个简单的文件打开器,目前只做了 打开 文本文档和图片,理论上可以做一个简单万能打开器。首先先打开文件,再判断扩展名,调用相关打开方法。窗体默认打开 隐藏控件,比如:文本框和图片框。打开相应文件时显示对应文本框,即可。

C# 文件打开器,文本文档,图片

今天,没事复习复习前面所学的知识,就做了一个简单的文件打开器,目前只做了打开文本文档和图片,理论上可以做一个简单万能打开器。

首先先打开文件,再判断扩展名,调用相关打开方法。

窗体默认打开 隐藏控件,比如:文本框和图片框。

打开相应文件时显示对应文本框,即可。

等这两天学习了视频播放,在想想办法添加 音乐播放和视频播放功能。

设计界面:

image.png

完整代码:

using System;
using System.Drawing;
using System.IO;
using System.Text;
using System.Windows.Forms;

namespace 文件打开器
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        string path = @".\";//路径
        string extension;//扩展名
        private void Form1_Load(object sender, EventArgs e)
        {
            pic.Visible = false;//隐藏图片框
            txtOpen.Visible = false;//隐藏文本框
        }
        private void btnOpen_Click(object sender, EventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog();//提示用户打开文件
            ofd.Title = "请选择要打开的文件";//标题
            ofd.Filter = "文本文档(*.txt)|*.txt|图片(*.png)|*.png|图片(*.jpg)|*.jpg|图片(*.gif)|*.gif|所有文件(*.*)|*.*";//扩展名
            if (ofd.ShowDialog() != DialogResult.OK)//判断是否点击OK键
            {
                MessageBox.Show("请选择要打开的文件。", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);//提示
                return;
            }
            path = ofd.FileName;//获取打开文件的路径
            txtPath.Text = path;//路径文本框显示路径
            //extension = path.Substring(path.LastIndexOf('.'));//使用截取字符串 获取扩展名,第一种方法
            extension = Path.GetExtension(path);//使用路径信息活动扩展名。  第二种方法
            switch (extension)//判断
            {
                case ".txt":
                    pic.Visible = false;//图片框隐藏
                    txtOpen.Visible = true;//文本框显示
                    GetTxt();//调用 读取文本文档 方法
                    break;
                case ".png":
                case ".jpg":
                case ".gif":
                    pic.Visible = true;//图片框显示
                    txtOpen.Visible = false;//文本框隐藏
                    pic.Image = Image.FromFile(path);//将图片显示在图片框上
                    break;
                default:
                    MessageBox.Show("未知文件", "未知", MessageBoxButtons.OK, MessageBoxIcon.Error);//提示
                    break;
            }
        }
        void GetTxt()//读取文本文档 方法
        {
            using (FileStream fs = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Read))//读取
            {
                string str = "";//变量
                while (true)
                {
                    byte[] buffer = new byte[1024 * 1024 * 1];//byte数组
                    int r = fs.Read(buffer, 0, buffer.Length);//读取文本内容,保存byte数组中,并返回读取总字节数
                    if (r == 0)//判断是否为0  
                    {
                        break;//为0 则退出循环
                    }
                    str += Encoding.UTF8.GetString(buffer, 0, r);//将读取数据转换为字符串
                }
                txtOpen.Clear();//清空文本框
                txtOpen.Text = str;//输出内容。
            }
        }
    }
}

输出结果:

image.pngimage.pngimage.png

本文地址:https://www.daobk.com/post/163.html
版权声明:本文为原创文章,版权归 小道 所有,欢迎分享本文,转载请保留出处!

发表评论


表情

还没有留言,还不快点抢沙发?