当前位置:首页 > C#学习 > C#练习 > 正文内容

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

小道5年前 (2019-01-03)C#练习5604

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

分享给朋友:

“C# 文件打开器,文本文档,图片” 的相关文章

C# 随机数产生 Random

C# 随机数产生 Random

输入一个范围,在这个范围内随机产生数字:        private void btn_Click(object sender, EventArgs e) /...

C# 简单 控制台 飞行棋 附源码

C# 简单 控制台 飞行棋 附源码

简单C# 控制台飞行棋,使用 int数组 用于创建地图。图例: 幸运转盘: ◎    地雷: ☆    暂停: ▲    时空隧道: 卐using System; namespace 飞行棋 {  &...

C# FileStream 读写文件操作

C# FileStream 读写文件操作

使用 FileStream 类 练习 文件读写操作。using System; using System.IO; using System.Text; namespace FileStream练习 {    &nbs...

C# FileStream 复制文件操作

C# FileStream 复制文件操作

使用 FileStream 进行复制文件操作。using System; using System.IO; namespace FileStream复制文件 {     class Progra...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。