2008-11-07 11 views
7

Tengo un formulario que muestra información de archivo en un TabControl, y me gustaría que las páginas tengan el ícono del archivo en su pestaña. ¿Cómo obtengo el ícono asociado con un tipo de archivo?¿Cómo obtengo el ícono asociado con un tipo de archivo?

Preferiría las soluciones que no implican buscar cosas en el registro, pero si ese es el único camino entonces que así sea.

Respuesta

12

CodeProject tiene algunas clases que puede descargar.

Primero consiga el FileAssociationInfo, y de eso consiga el ProgramAssociationInfo. El objeto pai puede darle el ícono.

FileAssociationInfo fai = new FileAssociationInfo(".bob"); 
ProgramAssociationInfo pai = new ProgramAssociationInfo(fai.ProgID); 
ProgramIcon icon = pai.DefaultIcon; 
+0

se ve bien, pero ¿cómo puedo obtener el FileAssociationInfo? No hay nada en MSDN sobre ninguna de esas clases. – Simon

+1

Aquí puede descargar las clases: http://channel9.msdn.com/playground/Sandbox/249856-System-File-Association/ – Ikke

+0

Malo, olvidé incluir el enlace. –

10
+5

Eso solo funciona para archivos reales, no archivos * tipo * s. – Simon

+1

¿Es específico de Windows? Si es así, ¿hay una solución multiplataforma? –

+0

Eso falla cuando el archivo no existe. Esto se convierte en un problema cuando el archivo no existe, porque no hay archivo. –

Cuestiones relacionadas