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

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

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

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://daobk.com/post/163.html

分享给朋友:

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

C# 求矩形面积 WindowsForms界面

C# 求矩形面积 WindowsForms界面

使用 C#语言,WinForm 制作求矩形面积软件:源码:        private void bnt_Click(object sender, EventArgs ...

C# 冒泡排序练习

C# 冒泡排序练习

将数组内的元素 从大到小排序:using System; namespace 冒泡排序 {     class Program     {    ...

C# StreamWrite和StreamReader 读写操作

C# StreamWrite和StreamReader 读写操作

StreamWrite和StreamReader 读写操作using System; using System.IO; using System.Text; namespace StreamWrite和StreamReader {  &...

C# 简单工厂模式

C# 简单工厂模式

C# 简单工厂模式通过工厂先生产笔记本(抽象类),根据用户需要的品牌(具体类),给用户品牌笔记本。using System; namespace 简单工厂设计模式 {     class Program  &...

发表评论

访客

看不清,换一张

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