Heim  >  Artikel  >  Backend-Entwicklung  >  Codebeispiel für das Popup-Dateidialogfeld „OpenFileDialog“ von Winform

Codebeispiel für das Popup-Dateidialogfeld „OpenFileDialog“ von Winform

Y2J
Y2JOriginal
2017-05-03 13:33:092423Durchsuche

In diesem Artikel werden hauptsächlich die relevanten Informationen zum Öffnen des Dateidialogfelds im Detail vorgestellt. Interessierte Freunde können darauf verweisen.

Die OpenFileDialog-Klasse bietet Benutzern die Möglichkeit zum Öffnen Dateien. Funktion, sie hat die folgenden Attribute:

Attribute

Anfangsverzeichnis: Legt das Anfangsverzeichnis des Dialogs fest Kasten.

Filter: Der Dateifilter, der im Dialogfeld angezeigt werden soll, zum Beispiel „Textdateien (*.txt)|*.txt|Alle Dateien (* .*)||*.*".

FilterIndex: Der Index des im Dialogfeld ausgewählten Dateifilters. Wenn das erste Element ausgewählt ist, wird es auf 1 gesetzt.

RestoreDirectory: Steuert, ob der Dialog vor dem Schließen das aktuelle Verzeichnis wiederherstellt.

Dateiname: Die erste im Dialogfeld angezeigte Datei oder die zuletzt ausgewählte Datei.

Titel: Der Name, der in der Titelleiste des Dialogfelds angezeigt wird.

Mehrfachauswahl: Einstellungen öffnen das Dialogfeld, um Mehrfachauswahlen zu ermöglichen.

1. Erstellen Sie eine neue Winform-Formularanwendung und benennen Sie sie: OpenFileDialogDemo

2. Fügen Sie der Benutzeroberfläche ein Schaltflächensteuerelement (Fenster zum Öffnen von Dateien) hinzu und fügen Sie den Text des Protokollausgabesteuerelements hinzu ( gibt das Verzeichnis, den Dateinamen und den Dateiinhalt der vom Endbenutzer geöffneten Dateien aus.

3. Backend-Code-Implementierung:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

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

    /// <summary>
    /// 打开文件按钮单击事件
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void btn_OpenFile_Click(object sender, EventArgs e)
    {
      //定义一个文件打开控件
      OpenFileDialog ofd = new OpenFileDialog();
      //设置打开对话框的初始目录,默认目录为exe运行文件所在的路径
      ofd.InitialDirectory = Application.StartupPath;
      //设置打开对话框的标题
      ofd.Title = "请选择要打开的文件";
      //设置打开对话框可以多选
      ofd.Multiselect = true;
      //设置对话框打开的文件类型
      ofd.Filter = "文本文件|*.txt|音频文件|*.wav|图片文件|*.jpg|所有文件|*.*";
      //设置文件对话框当前选定的筛选器的索引
      ofd.FilterIndex = 2;
      //设置对话框是否记忆之前打开的目录
      ofd.RestoreDirectory = true;
      if (ofd.ShowDialog() == DialogResult.OK)
      { 
        //获取用户选择的文件完整路径
        string filePath = ofd.FileName;
        //获取对话框中所选文件的文件名和扩展名,文件名不包括路径
        string fileName = ofd.SafeFileName;       
        OutLog("用户选择的文件目录为:" + filePath);
        
        OutLog("用户选择的文件名称为:"+fileName);
        OutLog("**************选中文件的内容**************");
        using (FileStream fsRead = new FileStream(filePath, FileMode.OpenOrCreate, FileAccess.Read))
        { 
         //定义二进制数组
          byte[] buffer = new byte[1024 * 1024 * 5];
          //从流中读取字节
          int r= fsRead.Read(buffer, 0, buffer.Length);
          OutLog(Encoding.Default.GetString(buffer,0,r));
        }
      }
    }

    /// <summary>
    /// 输出日志
    /// </summary>
    /// <param name="strLog"></param>
    private void OutLog(string strLog)
    {
      //如果日志信息长度超过1000行,则自动清空
      if (txt_FileInfo.GetLineFromCharIndex(txt_FileInfo.Text.Length) > 1000)
      {
        //清空文本
        txt_FileInfo.Clear();
      }
      txt_FileInfo.AppendText(DateTime.Now.ToString("HH:mm:ss ")+strLog+"\r\n");
    }
  }
}

4. Exe-Dateitest generieren

5. Klicken Sie auf die Schaltfläche „Datei öffnen“, um das Dialogfeld zu öffnen. Das Standardverzeichnis ist das Verzeichnis, in dem sich die exe-Datei befindet:

6. Im Typ der geöffneten Datei stellen wir die 4 ein und geben die zweite Audiodatei ein Standardmäßig. Geben Sie Folgendes ein:

7. Nach Auswahl der zu öffnenden Datei wird der Programmlaufeffekt ausgeführt:

Das obige ist der detaillierte Inhalt vonCodebeispiel für das Popup-Dateidialogfeld „OpenFileDialog“ von Winform. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn