visual solo ruta obtener nombre net from filename extension ejemplo con archivo c# listbox openfiledialog

c# - solo - ¿Cómo muestro el nombre del archivo en el cuadro de lista pero mantengo la ruta relativa utilizando openfiledialog?



obtener solo el nombre del archivo vb net (2)

Estoy haciendo un programa en el que el usuario necesita cargar en múltiples archivos. Sin embargo, en el ListBox necesito mostrar solo los nombres de archivo de los archivos cargados, pero aún así poder usar los archivos cargados. Entonces quiero ocultar el camino completo. Así es como cargo un archivo en el ListBox ahora, pero muestra la ruta completa:

private void browseBttn_Click(object sender, EventArgs e) { OpenFileDialog OpenFileDialog1 = new OpenFileDialog(); OpenFileDialog1.Multiselect = true; OpenFileDialog1.Filter = "DLL Files|*.dll"; OpenFileDialog1.Title = "Select a Dll File"; if (OpenFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK) { dllList.Items.AddRange(OpenFileDialog1.FileNames); } }


Puede extraer el nombre de fileName de la ruta absoluta usando la static Class Path en el System.IO namespace

//returns only the filename of an absolute path. Path.GetFileName("FilePath");


// Set a global variable to hold all the selected files result List<String> fullFileName; // Browse button handler private void button1_Click(object sender, EventArgs e) { OpenFileDialog OpenFileDialog1 = new OpenFileDialog(); OpenFileDialog1.Multiselect = true; OpenFileDialog1.Filter = "DLL Files|*.dll"; OpenFileDialog1.Title = "Seclect a Dll File"; if (OpenFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK) { // put the selected result in the global variable fullFileName = new List<String>(OpenFileDialog1.FileNames); // add just the names to the listbox foreach (string fileName in fullFileName) { dllList.Items.Add(fileName.Substring(fileName.LastIndexOf(@"/")+1)); } } } // handle the selected change if you wish and get the full path from the selectedIndex. private void dllList_SelectedIndexChanged(object sender, EventArgs e) { // check to make sure there is a selected item if (dllList.SelectedIndex > -1) { string fullPath = fullFileName[dllList.SelectedIndex]; // remove the item from the list fullFileName.RemoveAt(dllList.SelectedIndex); dllList.Items.Remove(dllList.SelectedItem); } }