I created a windows app that will compare strings from two different files. However, what I wanted was to open the folder, display the contents in listbox 1. Open folder 2 and display contents in list box 2. The differences will display in listbox 3. However, I am using openfiledialog and I need to use folderbrowse dialog. I seem to have gotten the string compare portion that way I wanted however I want to compare the contents(filenames) in individual folders. How can I switch from openfiledialog to folderbrowsedialog and still have the compare work? It maybe something straight forward but I am missing it. Any help would be appreciated.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
namespace WindowsFormsApplication3
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
/*
FolderBrowserDialog FBD = new FolderBrowserDialog();
if (FBD.ShowDialog() == DialogResult.OK)
{
listBox1.Items.Clear();
string[] files = Directory.GetFiles(FBD.SelectedPath);
string[] dirs = Directory.GetDirectories(FBD.SelectedPath);
foreach (string file in files)
{
listBox1.Items.Add(Path.GetFileName(file));
}
foreach (string dir in dirs)
{
listBox1.Items.Add(dir);
}
}
}
*/
OpenFileDialog f = new OpenFileDialog();
if (f.ShowDialog() == DialogResult.OK)
{
listBox1.Items.Clear();
List<string> lines = new List<string>();
using (StreamReader r = new StreamReader(f.OpenFile()))
{
string line;
while ((line =
r.ReadLine()) != null)
{
listBox1.Items.Add(line);
}
}
}
}
private void button2_Click(object sender, EventArgs e)
{
/*
FolderBrowserDialog FBD =
new FolderBrowserDialog();
if (FBD.ShowDialog() == DialogResult.OK)
{
listBox2.Items.Clear();
string[] files = Directory.GetFiles(FBD.SelectedPath);
string[] dirs = Directory.GetDirectories(FBD.SelectedPath);
foreach (string file in files)
{
listBox2.Items.Add(Path.GetFileName(file));
}
foreach (string dir in dirs)
{
listBox2.Items.Add(dir);
}
}
{
}
}
*/
OpenFileDialog f = new OpenFileDialog();
if (f.ShowDialog() == DialogResult.OK)
{
listBox2.Items.Clear();
List<string> lines = new List<string>();
using (StreamReader r = new StreamReader(f.OpenFile()))
{
string line;
while ((line =
r.ReadLine()) != null)
{
listBox2.Items.Add(line);
}
}
}
}
private void button3_Click(object sender, EventArgs e)
{
foreach (string item in listBox1.Items)
{
if
(listBox2.Items.Contains(item))
{
listBox3.Items.Add("Similar File Names:
");
listBox3.Items.Add(item); // similar items
}
else
{
listBox3.Items.Add("Dissimilar File
Names: ");
// listBox3.Items.Add(item); //
dissimilar items
}
}
}
private void button4_Click(object sender, EventArgs e)
{
listBox1.Items.Clear();
listBox2.Items.Clear();
listBox3.Items.Clear();
}
private void Form1_Load(object sender, EventArgs e)
{
}
}
}