I currently have to code to allow me to read all of the files of a folder and write them to the console. Below, I also have got the code to select individual files from a di
First you need to add reference to System.Windows.Forms
Then, Add STAThread
Attribute to the main method. This indicates that your program is single-threaded and enabled it to work with COM components (which the System dialogs use).
After that only you can use the FolderBrowserDialog
with the Console Application
static class Program
{
[STAThread]
static void Main(string[] args)
{
FolderBrowserDialog fbd = new FolderBrowserDialog();
if (fbd.ShowDialog() == DialogResult.OK)
{
foreach (var path in Directory.GetFiles(fbd.SelectedPath))
{
Console.WriteLine(path); // full path
Console.WriteLine(System.IO.Path.GetFileName(path)); // file name
}
}
}
}
Alhough, made for image UI operations you can use DotImaging.UI:
string fileName = UI.OpenFile(); //open-file dialog
User the FolderBrowserDialog
FolderBrowserDialog b = new FolderBrowserDialog();
if(b.ShowDialog() == DialogResult.OK)
{
var folderName = b.SelectedPath;
}