A project-keresés algoritmusát a ScanDir metódusban programozzuk le.
private void ScanDir(string dir)
Amennyiben a checkBox1 objektum be van jelölve, ennek a függvénynek rekurzív módon kell működnie.
A keresést a dir paraméterben kapott könyvtárban kezdjük. A kereséshez a System.IO.Directory osztályt használjuk fel.
Lekérdezzük a dir paraméterben kapott könyvtár alkönyvtárait.
string[] directories = Directory.GetDirectories(dir);
Ha szükséges, rekurziót hajtunk végre.
if (checkBox1.Checked)
for (int i = 0; i < directories.Length; i++)
ScanDir(directories[i]);
Egy adott könyvtár állományait a GetFiles függvénnyel kérdezhetjük le.
string[] files = Directory.GetFiles(dir);
Ha olyan állományt találunk, melynek kiterjesztése sln, feljegyezzük azt a ListBox1-be.
for (int i = 0; i < files.Length; i++)
if (Path.GetExtension(files[i]) == ".sln")
listBox1.Items.Add(files[i]);
Ha meg akarjuk nyitni a Visual Studio.Net-et és be akarjuk tölteni a kiválasztott project-et, akkor azt az alábbi módon tehetjük meg.
System.Diagnostics.Process.Start('"' + listBox1.Items[listBox1.SelectedIndex].ToString() + '"');
A System.Diagnostics.Process.Start függvénynek elegendő megadnunk a megnyitandó állomány elérési útját és nevét. Az operációs rendszer tudja, hogy az adott állományhoz milyen alkalmazás van hozzárendelve.