Wita.
Mój programik ma w pierwszej formie projektu wybór katalogu na dysku, i prosty przycisk dalej ;-).
W formie drugiej ma dwa okienka ListBox powinien w okienku ListBoxa wyświetlić zawartość katalogu wybranego w formie1 (zawartość pliki i katalogi wraz z podkatalogami ) niestety wyświetla mi tylko tak:
Wybrany katalog w formie1 np."wiaderko" w tym katalogu znajdują się inne katalogi które nie są wyświetlane jak to zmienić?
Oto co ląduje w okienku ListBoxa:
test\test.txt
test\gdzie.php
test\gg.txt
A oto co powinno tam wylądować:
dom\ss\php\gdz.html
test\test.txt
test\gdzie.php
test\gg.txt
wg\hh\ss\kk\ww\ss\yy\tomek.jpg
moje.txt
zdj.jpg
Co jest nie tak z kodem ?
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Collections;
namespace Builder_Game_Update
{
public partial class Step2 : Form
{
public Step2()
{
InitializeComponent();
}
private string PathClient = Properties.Settings.Default.PathClient;
private string PathTo = Properties.Settings.Default.PathTo;
private Int64 AllFilesSize;
private Int64 DriveFreeSize;
int AllFilesCnt = 0;
private bool CheckFreeSpace()
{
DirectoryInfo diPT = new DirectoryInfo(@PathTo);
DriveInfo di = new DriveInfo(diPT.Root.ToString());
DriveFreeSize = di.AvailableFreeSpace;
if (DriveFreeSize < AllFilesSize)
return false;
else
return true;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
private void Step2_Load(object sender, EventArgs e)
{
DirectoryInfo diFromDir = new DirectoryInfo(@PathClient);
DirectoryInfo[] diFromArr = diFromDir.GetDirectories();
foreach (DirectoryInfo DirName in diFromArr)
{
DirectoryInfo fFromDir = new DirectoryInfo(@PathClient + "/" + DirName);
foreach (FileInfo Fname in fFromDir.GetFiles())
{
FileInfo ufInfo = new FileInfo(@PathClient + "\\" + DirName + "\\" + Fname);
AllFilesSize = AllFilesSize + ufInfo.Length;
LB_FULL.Items.Add(DirName + "\\" + Fname);
AllFilesCnt++;
Properties.Settings.Default.AllFilesCnt = AllFilesCnt;
}
}
if (!CheckFreeSpace())
{
MessageBox.Show("Brak miejsca na dysku");
}
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
private void Step2_FormClosed(object sender, FormClosedEventArgs e)
{
Application.Exit();
}
private void ToRight_Click(object sender, EventArgs e)
{
ArrayList sel = new ArrayList(LB_FULL.SelectedItems);
foreach (Object SelectedItem in sel)
{
if (!LB_CRITICAL.Items.Contains(SelectedItem))
LB_CRITICAL.Items.Add(SelectedItem);
}
}
private void ToLeft_Click(object sender, EventArgs e)
{
ArrayList sel = new ArrayList(LB_CRITICAL.SelectedItems);
foreach (Object SelectedItem in sel)
LB_CRITICAL.Items.Remove(SelectedItem);
}
private void ToStep3_Click(object sender, EventArgs e)
{
this.GoToStep3();
}
private void SaveParams_Click(object sender, EventArgs e)
{
ArrayList CL = new ArrayList(LB_CRITICAL.Items);
Properties.Settings.Default.CriticalList = CL;
Properties.Settings.Default.Save();
}
private void TSMI_Exit_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void TSMI_Run_Click(object sender, EventArgs e)
{
this.GoToStep3();
}
private void GoToStep3()
{
ArrayList CL = new ArrayList(LB_CRITICAL.Items);
Properties.Settings.Default.CriticalList = CL;
Properties.Settings.Default.Save();
if (CheckFreeSpace())
{
Form Step3 = new Step3();
Step3.Show();
this.Hide();
}
else
MessageBox.Show("Brak miejsca na dysku");
}
}
}
Serdecznie proszę o jakieś porady.