Как мне создать программу, которая детализирует файлы и их подкаталоги?

Есть программа, над которой я работаю, и я абсолютно потерялся даже от того, как это начать. Я использую Visual Studio C# Windows App Form.

Что мне нужно сделать, это разрешить пользователю вводить любой путь, который он хочет, и программа вернет имя файла / папки; Дорожка; дата и размер, и это также будет сделано для подкаталогов.

Я нашел некоторый код на сайте MSDN, и я пытаюсь использовать его и изменить его для первой части этого проекта, но продолжаю получать сообщения об ошибках. В некоторых сообщениях указывается, что существует более одной записи, т. Е. (Static void Main() и использование пространства имен Подробно).

Это то, что у меня пока есть, форма с расширенным текстовым полем и FolderBrowserDialog, и мне кажется, что я не могу выйти за пределы этой точки без такого количества ошибок.

Это находится под Form1.Designer.cs:

<i>namespace Detailed

{частичный класс Form1 { /// /// Обязательная переменная конструктора. /// 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.folderBrowserDialog1 = new System.Windows.Forms.FolderBrowserDialog();
        this.richTextBox1 = new System.Windows.Forms.RichTextBox();
        this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
        this.SuspendLayout();
        // 
        // folderBrowserDialog1
        // 
        this.folderBrowserDialog1.HelpRequest += new System.EventHandler(this.folderBrowserDialog1_HelpRequest);
        // 
        // richTextBox1
        // 
        this.richTextBox1.Location = new System.Drawing.Point(12, 32);
        this.richTextBox1.Name = "richTextBox1";
        this.richTextBox1.Size = new System.Drawing.Size(167, 23);
        this.richTextBox1.TabIndex = 0;
        this.richTextBox1.Text = "";
        // 
        // openFileDialog1
        // 
        this.openFileDialog1.FileName = "openFileDialog1";
        // 
        // Form1
        // 
        this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
        this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
        this.ClientSize = new System.Drawing.Size(284, 262);
        this.Controls.Add(this.richTextBox1);
        this.Name = "Form1";
        this.Text = "Form1";
        this.Load += new System.EventHandler(this.Form1_Load);
        this.ResumeLayout(false);

    }

    #endregion

    private System.Windows.Forms.FolderBrowserDialog folderBrowserDialog1;
    private System.Windows.Forms.RichTextBox richTextBox1;
    private System.Windows.Forms.OpenFileDialog openFileDialog1;
}

}

Для For1.cs это то, что я до сих пор:

используя Систему; using System.Collections.Generic; using System.ComponentModel; используя System.Data; использование System.Drawing; использование System.Linq; использование System.Text; использование System.Windows.Forms; используя System.IO;

открытый класс FolderBrowserDialogExampleForm: System.Windows.Forms.Form { private FolderBrowserDialog folderBrowserDialog1; приватный OpenFileDialog openFileDialog1;

private RichTextBox richTextBox1;

private MainMenu mainMenu1;
private MenuItem fileMenuItem, openMenuItem;
private MenuItem folderMenuItem, closeMenuItem;

private string openFileName, folderName;

private bool fileOpened = false;

public partial class Form1 : Form
{
    public Form1()
    {

    }

    private void Form1_Load(object sender, EventArgs e)
    {

    }

    private void folderBrowserDialog1_HelpRequest(object sender, EventArgs e)
    {

    }
}

private void InitializeComponent()
{
    this.SuspendLayout();
    // 
    // FolderBrowserDialogExampleForm
    // 
    this.ClientSize = new System.Drawing.Size(284, 262);
    this.Name = "FolderBrowserDialogExampleForm";
    this.ResumeLayout(false);

}

}

Я все еще новичок в программировании и надеюсь, что смогу выяснить это как можно скорее, так как меня попросили получить это не позднее утра четверга. У меня был Rich TextBox в форме, но он был удален из-за слишком большого количества ошибок.

Это код, который я нашел. Я знаю, что это только часть того, что мне нужно сделать, но, читая код, я заметил, что, возможно, я смогу применить то, что нужно к форме, а затем разбить код и поместить кусочки кода туда, где они мне нужны. Это код, который я следую

Вот сообщение об ошибке, которое я получаю с Form1.Designer.cs - существует 14 таких же ошибок: "Detail.form1" не содержит определения для "Form1_Load" и не имеет метода расширения "Form1_Load", принимающего первый аргумент типа Можно найти файл "Detail.Form1" (отсутствует директива using или ссылка на сборку?)

1 ответ

Решение

Первое, что вы хотите, это диалоговое окно, предлагающее пользователю каталог. Так что избавьтесь от всего этого кода, запустите новую выигрышную форму проекта и поместите текстовое поле в форму и кнопку в форме.

Достаточно просто одно текстовое поле и одна кнопка. Теперь в событии нажатия вашей кнопки "Обзор", вы пишете код, чтобы открыть экземпляр FolderBrowserDialog класс и ты .ShowDialog(), Чтобы получить этот путь:

Вот пример вывода экрана:

введите описание изображения здесь

Код довольно прост, посмотрите на мою картинку и сколько кода мне нужно для этого.

Другие вопросы по тегам