Как мне создать программу, которая детализирует файлы и их подкаталоги?
Есть программа, над которой я работаю, и я абсолютно потерялся даже от того, как это начать. Я использую 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()
, Чтобы получить этот путь:
Вот пример вывода экрана:
Код довольно прост, посмотрите на мою картинку и сколько кода мне нужно для этого.