C#语言实例源码系列-实现批量图片格式转换

news2024/9/9 4:35:43
专栏分享
  • 点击跳转=>Unity3D特效百例
  • 点击跳转=>案例项目实战源码
  • 点击跳转=>游戏脚本-辅助自动化
  • 点击跳转=>Android控件全解手册

👉关于作者

众所周知,人生是一个漫长的流程,不断克服困难,不断反思前进的过程。在这个过程中会产生很多对于人生的质疑和思考,于是我决定将自己的思考,经验和故事全部分享出来,以此寻找共鸣 !!!
专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材、源码、游戏等)
有什么需要欢迎私我,交流群让学习不再孤单

在这里插入图片描述

👉实践过程

😜效果

在这里插入图片描述

😜代码

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    string[] path1 = null; //用于存储选择的文件列表
    string path2 = ""; //用于存储保存的路径
    Bitmap bt; //声明一个转换图片格式的Bitmap对象
    Thread td; //声明一个线程
    int Imgtype1; //声明一个变量用于标记ConvertImage方法中转换的类型
    string OlePath; //声明一个变量用于存储ConvertImage方法中原始图片的路径
    string path; //声明一个变量用于存储ConvertImage方法中转换后图片的保存路径
    int flags; //用于标记已转换图片的数量,用于计算转换进度

    private void Form2_Load(object sender, EventArgs e)
    {
        tscbType.SelectedIndex = 0; //设置第一个转换类型被选中
        CheckForIllegalCrossThreadCalls = false; //屏蔽线程弹出的错误提示
    }

    private void toolStripButton3_Click(object sender, EventArgs e) //选择转换文件的按钮
    {
        if (openFileDialog1.ShowDialog() == DialogResult.OK) //判断是否选择文件
        {
            listView1.Items.Clear(); //清空listView1
            string[] info = new string[7]; //存储每一行数据
            FileInfo fi; //创建一个FileInfo对象,用于获取图片信息
            path1 = openFileDialog1.FileNames; //获取选择的图片集合
            for (int i = 0; i < path1.Length; i++) //读取集合中的内容
            {
                //获取图片名称
                string ImgName = path1[i].Substring(path1[i].LastIndexOf("\\") + 1,
                    path1[i].Length - path1[i].LastIndexOf("\\") - 1);
                //获取图片类型
                string ImgType = ImgName.Substring(ImgName.LastIndexOf(".") + 1,
                    ImgName.Length - ImgName.LastIndexOf(".") - 1);
                fi = new FileInfo(path1[i].ToString()); //实例化FileInfo对象
                //将每一行数据第一个位置的图标添加到imageList1中
                imageList1.Images.Add(ImgName, Properties.Resources.图标__23_);
                info[1] = ImgName; //图片名称
                info[2] = ImgType; //图片类型
                info[3] = fi.LastWriteTime.ToShortDateString(); //图片最后修改日期
                info[4] = path1[i].ToString(); //图片位置
                info[5] = (fi.Length / 1024) + "KB"; //图片大小
                info[6] = "未转换"; //图片状态
                ListViewItem lvi = new ListViewItem(info, ImgName); //实例化ListViewItem对象
                listView1.Items.Add(lvi); //将信息添加到listView1控件中
            }

            tsslFileNum.Text = "当前共有" + path1.Length.ToString() + "个文件"; //状态栏中显示图片数量
        }
    }

    private void toolStripButton2_Click(object sender, EventArgs e) //关闭按钮
    {
        Application.Exit(); //退出系统
    }

    private void toolStripButton5_Click(object sender, EventArgs e) //清空列表的按钮
    {
        listView1.Items.Clear(); //清空列表
        path1 = null; //清空图片的集合
        tsslFileNum.Text = "当前没有文件"; //状态栏中提示
        tsslPlan.Text = ""; //清空进度数字
    }

    private void toolStripButton1_Click(object sender, EventArgs e)
    {
        if (path1 == null) //判断是否选择图片
        {
            MessageBox.Show("请选择图片!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }
        else
        {
            if (path2.Length == 0) //判断是否选择保存位置
            {
                MessageBox.Show("请选择保存位置!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                flags = 1; //初始化flags变量为1,用于计算进度
                toolStrip1.Enabled = false; //当转换开始时,禁用工具栏
                int flag = tscbType.SelectedIndex; //判断将图片转换为何种格式
                switch (flag) //根据不同的格式进行转换
                {
                    case 0:
                        Imgtype1 = 0; //如果选择第一项则转换为BMP格式
                        td = new Thread(new ThreadStart(ConvertImage)); //通过线程调用ConvertImage方法进行转换
                        td.Start();
                        break;
                    case 1: //如果选择第二项则转换为JPG格式
                        Imgtype1 = 1;
                        td = new Thread(new ThreadStart(ConvertImage)); //通过线程调用ConvertImage方法进行转换
                        td.Start();
                        break;
                    case 2: //如果选择第三项则转换为PNG格式
                        Imgtype1 = 2;
                        td = new Thread(new ThreadStart(ConvertImage)); //通过线程调用ConvertImage方法进行转换
                        td.Start();
                        break;
                    case 3: //如果选择第四项则转换为GIF格式
                        Imgtype1 = 3;
                        td = new Thread(new ThreadStart(ConvertImage)); //通过线程调用ConvertImage方法进行转换
                        td.Start();
                        break;
                    default:
                        td.Abort();
                        break;
                }
            }
        }
    }

    private void toolStripButton4_Click(object sender, EventArgs e) //选择保存路径按钮
    {
        if (folderBrowserDialog1.ShowDialog() == DialogResult.OK) //判断是否选择保存路径
        {
            path2 = folderBrowserDialog1.SelectedPath; //获取保存路径
        }
    }

    private void ConvertImage()
    {
        flags = 1;
        switch (Imgtype1)
        {
            case 0:
                for (int i = 0; i < path1.Length; i++)
                {
                    string ImgName = path1[i].Substring(path1[i].LastIndexOf("\\") + 1,
                        path1[i].Length - path1[i].LastIndexOf("\\") - 1);
                    ImgName = ImgName.Remove(ImgName.LastIndexOf("."));
                    OlePath = path1[i].ToString();
                    bt = new Bitmap(OlePath);
                    path = path2 + "\\" + ImgName + ".bmp";
                    bt.Save(path, System.Drawing.Imaging.ImageFormat.Bmp);
                    listView1.Items[flags - 1].SubItems[6].Text = "已转换";
                    tsslPlan.Text = "正在转换" + flags * 100 / path1.Length + "%";
                    if (flags == path1.Length)
                    {
                        toolStrip1.Enabled = true;
                        tsslPlan.Text = "图片转换全部完成";
                    }

                    flags++;
                }

                break;
            case 1:
                for (int i = 0; i < path1.Length; i++)
                {
                    string ImgName = path1[i].Substring(path1[i].LastIndexOf("\\") + 1,
                        path1[i].Length - path1[i].LastIndexOf("\\") - 1);
                    ImgName = ImgName.Remove(ImgName.LastIndexOf("."));
                    OlePath = path1[i].ToString();
                    bt = new Bitmap(OlePath);
                    path = path2 + "\\" + ImgName + ".jpeg";
                    bt.Save(path, System.Drawing.Imaging.ImageFormat.Jpeg);
                    listView1.Items[flags - 1].SubItems[6].Text = "已转换";
                    tsslPlan.Text = "正在转换" + flags * 100 / path1.Length + "%";
                    if (flags == path1.Length)
                    {
                        toolStrip1.Enabled = true;
                        tsslPlan.Text = "图片转换全部完成";
                    }

                    flags++;
                }

                break;
            case 2:
                for (int i = 0; i < path1.Length; i++)
                {
                    string ImgName = path1[i].Substring(path1[i].LastIndexOf("\\") + 1,
                        path1[i].Length - path1[i].LastIndexOf("\\") - 1);
                    ImgName = ImgName.Remove(ImgName.LastIndexOf("."));
                    OlePath = path1[i].ToString();
                    bt = new Bitmap(OlePath);
                    path = path2 + "\\" + ImgName + ".png";
                    bt.Save(path, System.Drawing.Imaging.ImageFormat.Png);
                    listView1.Items[flags - 1].SubItems[6].Text = "已转换";
                    tsslPlan.Text = "正在转换" + flags * 100 / path1.Length + "%";
                    if (flags == path1.Length)
                    {
                        toolStrip1.Enabled = true;
                        tsslPlan.Text = "图片转换全部完成";
                    }

                    flags++;
                }

                break;
            case 3:
                for (int i = 0; i < path1.Length; i++)
                {
                    string ImgName = path1[i].Substring(path1[i].LastIndexOf("\\") + 1,
                        path1[i].Length - path1[i].LastIndexOf("\\") - 1);
                    ImgName = ImgName.Remove(ImgName.LastIndexOf("."));
                    OlePath = path1[i].ToString();
                    bt = new Bitmap(OlePath);
                    path = path2 + "\\" + ImgName + ".gif";
                    bt.Save(path, System.Drawing.Imaging.ImageFormat.Gif);
                    listView1.Items[flags - 1].SubItems[6].Text = "已转换";
                    tsslPlan.Text = "正在转换" + flags * 100 / path1.Length + "%";
                    if (flags == path1.Length)
                    {
                        toolStrip1.Enabled = true;
                        tsslPlan.Text = "图片转换全部完成";
                    }

                    flags++;
                }

                break;
            default:
                bt.Dispose();
                break;
        }
    }

    private void Form2_FormClosed(object sender, FormClosedEventArgs e) //关闭窗口时要关闭线程
    {
        if (td != null) //判断是否存在线程
        {
            if (td.ThreadState == ThreadState.Running) //然后判断线程是否正在运行
            {
                td.Abort(); //如果运行则关闭线程
            }
        }
    }
}
partial class Form1
{
    /// <summary>
    /// Required designer variable.
    /// </summary>
    private System.ComponentModel.IContainer components = null;

    /// <summary>
    /// Clean up any resources being used.
    /// </summary>
    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
    protected override void Dispose(bool disposing)
    {
        if (disposing && (components != null))
        {
            components.Dispose();
        }
        base.Dispose(disposing);
    }

    #region Windows Form Designer generated code

    /// <summary>
    /// Required method for Designer support - do not modify
    /// the contents of this method with the code editor.
    /// </summary>
    private void InitializeComponent()
    {
        this.components = new System.ComponentModel.Container();
        System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1));
        this.toolStrip1 = new System.Windows.Forms.ToolStrip();
        this.toolStripLabel1 = new System.Windows.Forms.ToolStripLabel();
        this.toolStripButton3 = new System.Windows.Forms.ToolStripButton();
        this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
        this.toolStripButton4 = new System.Windows.Forms.ToolStripButton();
        this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
        this.toolStripLabel3 = new System.Windows.Forms.ToolStripLabel();
        this.tscbType = new System.Windows.Forms.ToolStripComboBox();
        this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
        this.toolStripButton1 = new System.Windows.Forms.ToolStripButton();
        this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator();
        this.toolStripButton5 = new System.Windows.Forms.ToolStripButton();
        this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator();
        this.toolStripButton2 = new System.Windows.Forms.ToolStripButton();
        this.statusStrip1 = new System.Windows.Forms.StatusStrip();
        this.tsslFileNum = new System.Windows.Forms.ToolStripStatusLabel();
        this.toolStripStatusLabel1 = new System.Windows.Forms.ToolStripStatusLabel();
        this.tsslPlan = new System.Windows.Forms.ToolStripStatusLabel();
        this.listView1 = new System.Windows.Forms.ListView();
        this.columnHeader6 = new System.Windows.Forms.ColumnHeader();
        this.columnHeader1 = new System.Windows.Forms.ColumnHeader();
        this.columnHeader2 = new System.Windows.Forms.ColumnHeader();
        this.columnHeader3 = new System.Windows.Forms.ColumnHeader();
        this.columnHeader4 = new System.Windows.Forms.ColumnHeader();
        this.columnHeader5 = new System.Windows.Forms.ColumnHeader();
        this.columnHeader7 = new System.Windows.Forms.ColumnHeader();
        this.imageList1 = new System.Windows.Forms.ImageList(this.components);
        this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
        this.folderBrowserDialog1 = new System.Windows.Forms.FolderBrowserDialog();
        this.toolStrip1.SuspendLayout();
        this.statusStrip1.SuspendLayout();
        this.SuspendLayout();
        // 
        // toolStrip1
        // 
        this.toolStrip1.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden;
        this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
        this.toolStripLabel1,
        this.toolStripButton3,
        this.toolStripSeparator1,
        this.toolStripButton4,
        this.toolStripSeparator2,
        this.toolStripLabel3,
        this.tscbType,
        this.toolStripSeparator3,
        this.toolStripButton1,
        this.toolStripSeparator4,
        this.toolStripButton5,
        this.toolStripSeparator5,
        this.toolStripButton2});
        this.toolStrip1.Location = new System.Drawing.Point(0, 0);
        this.toolStrip1.Name = "toolStrip1";
        this.toolStrip1.RenderMode = System.Windows.Forms.ToolStripRenderMode.System;
        this.toolStrip1.Size = new System.Drawing.Size(536, 25);
        this.toolStrip1.TabIndex = 0;
        this.toolStrip1.Text = "toolStrip1";
        // 
        // toolStripLabel1
        // 
        this.toolStripLabel1.Name = "toolStripLabel1";
        this.toolStripLabel1.Size = new System.Drawing.Size(17, 22);
        this.toolStripLabel1.Text = "  ";
        // 
        // toolStripButton3
        // 
        this.toolStripButton3.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
        this.toolStripButton3.Image = global::PictureBatchConversion.Properties.Resources.打开;
        this.toolStripButton3.ImageTransparentColor = System.Drawing.Color.Magenta;
        this.toolStripButton3.Name = "toolStripButton3";
        this.toolStripButton3.Size = new System.Drawing.Size(23, 22);
        this.toolStripButton3.Text = "toolStripButton3";
        this.toolStripButton3.ToolTipText = "选择需要转换的图片";
        this.toolStripButton3.Click += new System.EventHandler(this.toolStripButton3_Click);
        // 
        // toolStripSeparator1
        // 
        this.toolStripSeparator1.Name = "toolStripSeparator1";
        this.toolStripSeparator1.Size = new System.Drawing.Size(6, 25);
        // 
        // toolStripButton4
        // 
        this.toolStripButton4.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
        this.toolStripButton4.Image = global::PictureBatchConversion.Properties.Resources.图标__29_;
        this.toolStripButton4.ImageTransparentColor = System.Drawing.Color.Magenta;
        this.toolStripButton4.Name = "toolStripButton4";
        this.toolStripButton4.Size = new System.Drawing.Size(23, 22);
        this.toolStripButton4.Text = "toolStripButton4";
        this.toolStripButton4.TextImageRelation = System.Windows.Forms.TextImageRelation.Overlay;
        this.toolStripButton4.ToolTipText = "选择保存位置";
        this.toolStripButton4.Click += new System.EventHandler(this.toolStripButton4_Click);
        // 
        // toolStripSeparator2
        // 
        this.toolStripSeparator2.Name = "toolStripSeparator2";
        this.toolStripSeparator2.Size = new System.Drawing.Size(6, 25);
        // 
        // toolStripLabel3
        // 
        this.toolStripLabel3.Name = "toolStripLabel3";
        this.toolStripLabel3.Size = new System.Drawing.Size(65, 22);
        this.toolStripLabel3.Text = "转换格式:";
        // 
        // tscbType
        // 
        this.tscbType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
        this.tscbType.FlatStyle = System.Windows.Forms.FlatStyle.System;
        this.tscbType.Items.AddRange(new object[] {
        "转换为BMP格式",
        "转换为JPG格式",
        "转换为PNG格式",
        "转换为GIF格式"});
        this.tscbType.Name = "tscbType";
        this.tscbType.Size = new System.Drawing.Size(121, 25);
        // 
        // toolStripSeparator3
        // 
        this.toolStripSeparator3.Name = "toolStripSeparator3";
        this.toolStripSeparator3.Size = new System.Drawing.Size(6, 25);
        // 
        // toolStripButton1
        // 
        this.toolStripButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
        this.toolStripButton1.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton1.Image")));
        this.toolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta;
        this.toolStripButton1.Name = "toolStripButton1";
        this.toolStripButton1.Size = new System.Drawing.Size(57, 22);
        this.toolStripButton1.Text = "开始转换";
        this.toolStripButton1.Click += new System.EventHandler(this.toolStripButton1_Click);
        // 
        // toolStripSeparator4
        // 
        this.toolStripSeparator4.Name = "toolStripSeparator4";
        this.toolStripSeparator4.Size = new System.Drawing.Size(6, 25);
        // 
        // toolStripButton5
        // 
        this.toolStripButton5.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
        this.toolStripButton5.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton5.Image")));
        this.toolStripButton5.ImageTransparentColor = System.Drawing.Color.Magenta;
        this.toolStripButton5.Name = "toolStripButton5";
        this.toolStripButton5.Size = new System.Drawing.Size(57, 22);
        this.toolStripButton5.Text = "清空列表";
        this.toolStripButton5.Click += new System.EventHandler(this.toolStripButton5_Click);
        // 
        // toolStripSeparator5
        // 
        this.toolStripSeparator5.Name = "toolStripSeparator5";
        this.toolStripSeparator5.Size = new System.Drawing.Size(6, 25);
        // 
        // toolStripButton2
        // 
        this.toolStripButton2.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
        this.toolStripButton2.Font = new System.Drawing.Font("宋体", 9F);
        this.toolStripButton2.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton2.Image")));
        this.toolStripButton2.ImageTransparentColor = System.Drawing.Color.Magenta;
        this.toolStripButton2.Name = "toolStripButton2";
        this.toolStripButton2.Size = new System.Drawing.Size(33, 22);
        this.toolStripButton2.Text = "关闭";
        this.toolStripButton2.Click += new System.EventHandler(this.toolStripButton2_Click);
        // 
        // statusStrip1
        // 
        this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
        this.tsslFileNum,
        this.toolStripStatusLabel1,
        this.tsslPlan});
        this.statusStrip1.Location = new System.Drawing.Point(0, 321);
        this.statusStrip1.Name = "statusStrip1";
        this.statusStrip1.Size = new System.Drawing.Size(536, 22);
        this.statusStrip1.TabIndex = 1;
        this.statusStrip1.Text = "statusStrip1";
        // 
        // tsslFileNum
        // 
        this.tsslFileNum.Name = "tsslFileNum";
        this.tsslFileNum.Size = new System.Drawing.Size(0, 17);
        // 
        // toolStripStatusLabel1
        // 
        this.toolStripStatusLabel1.Name = "toolStripStatusLabel1";
        this.toolStripStatusLabel1.Size = new System.Drawing.Size(23, 17);
        this.toolStripStatusLabel1.Text = "   ";
        // 
        // tsslPlan
        // 
        this.tsslPlan.Name = "tsslPlan";
        this.tsslPlan.Size = new System.Drawing.Size(0, 17);
        // 
        // listView1
        // 
        this.listView1.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
        this.columnHeader6,
        this.columnHeader1,
        this.columnHeader2,
        this.columnHeader3,
        this.columnHeader4,
        this.columnHeader5,
        this.columnHeader7});
        this.listView1.Dock = System.Windows.Forms.DockStyle.Fill;
        this.listView1.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
        this.listView1.FullRowSelect = true;
        this.listView1.GridLines = true;
        this.listView1.Location = new System.Drawing.Point(0, 25);
        this.listView1.Name = "listView1";
        this.listView1.Size = new System.Drawing.Size(536, 296);
        this.listView1.SmallImageList = this.imageList1;
        this.listView1.TabIndex = 2;
        this.listView1.UseCompatibleStateImageBehavior = false;
        this.listView1.View = System.Windows.Forms.View.Details;
        // 
        // columnHeader6
        // 
        this.columnHeader6.Text = "";
        this.columnHeader6.Width = 20;
        // 
        // columnHeader1
        // 
        this.columnHeader1.Text = "文件名";
        this.columnHeader1.Width = 120;
        // 
        // columnHeader2
        // 
        this.columnHeader2.Text = "扩展名";
        // 
        // columnHeader3
        // 
        this.columnHeader3.Text = "日期";
        this.columnHeader3.Width = 80;
        // 
        // columnHeader4
        // 
        this.columnHeader4.Text = "路径";
        this.columnHeader4.Width = 120;
        // 
        // columnHeader5
        // 
        this.columnHeader5.Text = "大小";
        this.columnHeader5.Width = 70;
        // 
        // columnHeader7
        // 
        this.columnHeader7.Text = "状态";
        // 
        // imageList1
        // 
        this.imageList1.ColorDepth = System.Windows.Forms.ColorDepth.Depth32Bit;
        this.imageList1.ImageSize = new System.Drawing.Size(16, 16);
        this.imageList1.TransparentColor = System.Drawing.Color.Transparent;
        // 
        // openFileDialog1
        // 
        this.openFileDialog1.Filter = "所有图片|*.jpg;*.jpeg;*.gif;*.bmp;*.png";
        this.openFileDialog1.Multiselect = true;
        // 
        // Form2
        // 
        this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
        this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
        this.ClientSize = new System.Drawing.Size(536, 343);
        this.Controls.Add(this.listView1);
        this.Controls.Add(this.statusStrip1);
        this.Controls.Add(this.toolStrip1);
        this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
        this.MaximizeBox = false;
        this.Name = "Form2";
        this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
        this.Text = "批量图片格式转换";
        this.Load += new System.EventHandler(this.Form2_Load);
        this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.Form2_FormClosed);
        this.toolStrip1.ResumeLayout(false);
        this.toolStrip1.PerformLayout();
        this.statusStrip1.ResumeLayout(false);
        this.statusStrip1.PerformLayout();
        this.ResumeLayout(false);
        this.PerformLayout();

    }

    #endregion

    private System.Windows.Forms.ToolStrip toolStrip1;
    private System.Windows.Forms.StatusStrip statusStrip1;
    private System.Windows.Forms.ListView listView1;
    private System.Windows.Forms.ToolStripLabel toolStripLabel1;
    private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
    private System.Windows.Forms.ToolStripLabel toolStripLabel3;
    private System.Windows.Forms.ToolStripComboBox tscbType;
    private System.Windows.Forms.ToolStripSeparator toolStripSeparator2;
    private System.Windows.Forms.ToolStripSeparator toolStripSeparator3;
    private System.Windows.Forms.ToolStripButton toolStripButton1;
    private System.Windows.Forms.ToolStripButton toolStripButton2;
    private System.Windows.Forms.ColumnHeader columnHeader1;
    private System.Windows.Forms.ColumnHeader columnHeader2;
    private System.Windows.Forms.ColumnHeader columnHeader3;
    private System.Windows.Forms.ColumnHeader columnHeader4;
    private System.Windows.Forms.ColumnHeader columnHeader5;
    private System.Windows.Forms.OpenFileDialog openFileDialog1;
    private System.Windows.Forms.ToolStripButton toolStripButton3;
    private System.Windows.Forms.ToolStripButton toolStripButton4;
    private System.Windows.Forms.ColumnHeader columnHeader6;
    private System.Windows.Forms.ImageList imageList1;
    private System.Windows.Forms.ToolStripStatusLabel tsslFileNum;
    private System.Windows.Forms.ToolStripButton toolStripButton5;
    private System.Windows.Forms.ToolStripSeparator toolStripSeparator4;
    private System.Windows.Forms.ToolStripSeparator toolStripSeparator5;
    private System.Windows.Forms.FolderBrowserDialog folderBrowserDialog1;
    private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel1;
    private System.Windows.Forms.ToolStripStatusLabel tsslPlan;
    private System.Windows.Forms.ColumnHeader columnHeader7;
}

需要的再直接Call我,直接发。

👉其他

📢作者:小空和小芝中的小空
📢转载说明-务必注明来源:https://zhima.blog.csdn.net/
📢这位道友请留步☁️,我观你气度不凡,谈吐间隐隐有王者霸气💚,日后定有一番大作为📝!!!旁边有点赞👍收藏🌟今日传你,点了吧,未来你成功☀️,我分文不取,若不成功⚡️,也好回来找我。

温馨提示点击下方卡片获取更多意想不到的资源。
空名先生

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/65031.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

极客时间Kafka - 02 为什么要分区|生产者的分区策略|轮询策略|随机策略|消息键保序策略

文章目录1. 为什么分区&#xff1f;2. Kafka 生产者的分区策略1. 轮询策略 RoundRobinPartitioner2. 随机策略 UniformStickyPartitioner3. 按消息键保序策略 DefaultPartitioner我们在使用 Apache Kafka 生产和消费消息的时候&#xff0c;肯定是希望能够将数据均匀地分配到所有…

Jenkins-jenkins凭证管理与代码拉取

什么是凭证&#xff1f; Jenkins经常与第三方插件如git&#xff0c;docker等交互&#xff0c;需要提供第三方的凭证&#xff0c;比如access token&#xff0c;用户名和密码等 可以使用插件Credentials Binding Plugin来管理这些凭证 jenkins凭证类型 jenkins可以管理以下凭证…

UEFI的一点点概识

最近看了一篇Blog讲的是关于PC安全的&#xff0c;其中很多的地方还是有一定相似之处。其中这个UEFI引起了我兴趣&#xff0c;以前安装系统的时候听说过这个名词。这里于是便来认识一下什么是UEFI。 前言 大多数人接触UEFI都是在PC的应用场景上&#xff0c;有在PC上安装过多操…

关闭二维码

关闭二维码 结果演示 概述 通过事件的绑定来实现&#xff0c;关闭二维码的效果。 构建HTML框架 <body><div class"box">二维码<img src"images/tao.png" alt""><i class"close-btn"></i></div&g…

第四十一篇 指令中的VNode

VNode 前面讲到了自定义指令的引入使用&#xff0c;以及结合封装swiper组件一起进行结合使用&#xff0c;还记在inserted 指令生命周期当中使用的参数吗&#xff1f;第一个参数是可以拿到DOM节点&#xff08;el&#xff09;&#xff0c;第二个参数是可以拿到使用自定义指令绑定…

NLP-信息抽取-三元组-联合抽取-多任务学习-2019:spERT【采用分类的思想实现联合抽取,实体抽取和关系抽取模型均为分类模型】

论文题目&#xff1a;Span-based Joint Entity and Relation Extraction with Transformer Pre-trainin 论文链接&#xff1a;https://arxiv.org/abs/1909.07755 论文代码&#xff1a;https://github.com/markus-eberts/spert SpERT模型是联合式抽取模型&#xff0c;同时抽取…

消息队列RabbitMQ核心:简单(Hello World)模式、队列(Work Queues)模式、发布订阅模式

文章目录一、简单模式&#xff08;Hello World&#xff09;代码实现二、队列模式&#xff08;Work Queues&#xff09;轮训分发消息代码实现消息应答概述RabbitMQ持久化不公平分发三、发布订阅模式原理概述发布确认策略单个确认发布批量确认发布异步确认发布三种发布确认速度对…

MongoDB_实战部分(二)

目录一、MongoDB CRUD操作MongoDB 插入文档MongoDB 查询文档MongoDB 修改文档MongoDB 删除文档练习题二、Mongoose三、VSCode连接MongoDB模块化一、MongoDB CRUD操作 MongoDB 插入文档 /*向数据库插入文档db.<collection>.insert()db.<collection>.insertOne() 插…

SDK 2019.1 - GNU Debugger (GDB) 不正常工作

报错截图 报错显示 warning: Can not parse XML target description; XML support was disabled at compile time warning: No executable has been specified and target does not support determining executable automatically. Try using the “file” command. " 解…

ROS service简单使用示例

1、为什么要使用ROS service 之前写过一篇关于ROS topic的内容。对于实时性、周期性的消息&#xff0c;使用topic来传输是最佳的选择。topic是一种点对点的单向通信方式&#xff0c;这里的“点”指的是node&#xff0c;也就是说node之间可以通过topic方式来传递信息。topic要经…

详细设计阶段复习

详细设计详细设计:确定具体实现方案,得出精确描述任务:结构程序设计:三种基本控制结构(选择[if]/顺序/循环[while|for])实现任何单入单出的程序人机界面设计:属于接口设计的重要组成问题设计指南设计工具:描述处理过程的工具程序流程图(历史悠久)盒图(N-S图): 不违背结构程序设…

[附源码]计算机毕业设计JAVA疫情环境下的酒店管理系统

[附源码]计算机毕业设计JAVA疫情环境下的酒店管理系统 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM…

机器学习实战——股票close预测

前言 用股票历史的close预测未来的close。 另一篇用深度学习搞得&#xff0c;见&#xff1a;深度学习实战——CNNLSTMAttention预测股票 技术栈 xgboostpython 原理 都是很简单的小玩意&#xff0c;试了下发现预测的还不错&#xff0c;先上效果图&#xff1a; 有点惊讶&a…

CSS中 设置( 单行、多行 )超出显示省略号

1. 设置超出显示省略号 css设置超出显示省略号可分两种情况&#xff1a; 单行文本溢出显示省略号…多行文本溢出显示省略号… 但使用的核心代码是一样的&#xff1a;需要先使用 “overflow:hidden;” 来把超出的部分隐藏&#xff0c;然后使用“text-overflow:ellipsis;”当文…

Java进阶架构师之如何画好架构图?阿里大神手把手教你!

1、什么是架构 架构就是对系统中的实体以及实体之间的关系所进行的抽象描述&#xff0c;是一系列的决策。 架构是结构和愿景。 系统架构是概念的体现&#xff0c;是对物/信息的功能与形式元素之间的对应情况所做的分配&#xff0c;是对元素之间的关系以及元素同周边环境之间…

基于灰狼算法优化的lssvm回归预测-附代码

基于灰狼算法优化的lssvm回归预测 - 附代码 文章目录基于灰狼算法优化的lssvm回归预测 - 附代码1.数据集2.lssvm模型3.基于灰狼算法优化的LSSVM4.测试结果5.Matlab代码摘要&#xff1a;为了提高最小二乘支持向量机&#xff08;lssvm&#xff09;的回归预测准确率&#xff0c;对…

Java基础:Collection、泛型

第一章 Collection集合 1.1 集合概述 在前面使用过集合ArrayList&#xff0c;那么集合到底是什么呢&#xff1f; 集合&#xff1a;集合是java中提供的一种容器&#xff0c;可以用来存储多个数据。 集合和数组既然都是容器&#xff0c;它们有啥区别呢&#xff1f; 数组的长…

DPDK 数据传输流程

在进行正式的收发包之前&#xff0c;DPDK需要做一些初始化操作&#xff0c;包括&#xff1a; 初始化一个或多个mbuf_pool&#xff0c;用来存储从网卡中接受的数据包修改网卡配置&#xff0c;指定其接受队列的个数&#xff08;通常每个转发核一个&#xff09;&#xff0c;长度&…

【Hadoop 2.7.1】HDFS Shell操作的简单试验

【Hadoop 2.7.1】HDFS Shell操作的简单试验 HDFS提供了多种数据访问的方式&#xff0c;其中&#xff0c;命令行的形式是最简单的&#xff0c;同时也是开发者最容易掌握的方式 文章目录【Hadoop 2.7.1】HDFS Shell操作的简单试验HDFS Shell命令的使用上传文件(put)查看文件列表(…

全网最详细Centos7搭建Redis集群

1、准备三台服务器 没有服务器的话&#xff0c;虚拟机也一样 2、每台服务器安装上redis 相关网址&#xff1a; CentOS7安装Redis完整教程_长头发的程序猿的博客-CSDN博客_centos7 redis安装 3、修改“139.196.105.140&#xff08;主机&#xff09;”的配置文件 vim /etc/r…