Finestra "Explorer-like" e tipi di file

mercoledì 13 dicembre 2006 - 16.04

MadBrain Profilo | Newbie

Salve,
sto progettando una procedura per accedere e lavorare su un repository di file.
Parte dell'interfaccia dovrebbe essere simile all'explorer di windows, bene o male è tutto fatto ma mi trovo in difficoltà su un punto:
come si fa a visualizzare il tipo di file nel modo in cui viene scritto sull'"esplora risorse" di Win? Intendo la colonna "Tipo" quando si visualizzano i dettagli dei file...

Grazie
---------------
"chi fa domande rischia di sembrare stupido
chi non ne fa rischia di restare stupido"

Cteniza Profilo | Guru

Non vedi che assomiglia ad una listview (assomiglia non credo che sia) .

MadBrain Profilo | Newbie

Non capisco la tua risposta... o forse ho spiegato male io quello che mi interessa.
Vorrei sapere da dove si prende il dato che viene visualizzato nella colonna tipo, per esempio "Documento di Microsoft Word" per i .doc o "Visual C# Source Code" per i .cs e così via
---------------
"chi fa domande rischia di sembrare stupido
chi non ne fa rischia di restare stupido"

Cteniza Profilo | Guru

Ho capito che tu non volevi una lista "tipo explorer" ma volevi avere il contenuto della lista tipo explorer.
Per questa cosa devi leggere le proprietà del file (o meglio del tipo di file) nel registro
Ho un esempio da proporti
string estensione = ".bmp";
estensione = textBox1.Text;
RegistryKey regKey = Registry.ClassesRoot;
try
{
// ci posizioniamo sulla radice HKEY_CLASSES_ROOT
regKey = regKey.OpenSubKey(estensione,false);
if (regKey != null)
{
// otteniamo il nome presente nel registro associato all'estensione
string pgm = (string) regKey.GetValue(null);
textBox2.Text = pgm + Environment.NewLine;
// ci riposizioniamo sulla radice HKEY_CLASSES_ROOT
regKey = Registry.ClassesRoot;
regKey = regKey.OpenSubKey(pgm + @"\DefaultIcon");
pgm = (string) regKey.GetValue(null);
textBox2.Text += pgm + Environment.NewLine;

}
else
textBox1.Text = textBox1.Text + " non trovato";

}
catch (Exception ex)
{
MessageBox.Show(ex.Message + Environment.NewLine + ex.StackTrace);
}
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5