J'ai un Listview et un bouton "AJOUTER", quand je clique sur AJOUTER je devrais être capable de parcourir les fichiers dans l'ordinateur, sélectionner les fichiers et quand cliquer OK ou l'Ouvrir, la liste des fichiers devrait être ajouté dans la listview ... comment faire ça ... est-ce que listview est correct ou toute autre alternative ...?ajouter des fichiers à listview en C#
Répondre
ListView devrait être bien pour la liste des fichiers. Sachez simplement que les chemins de fichiers plus longs sont difficiles à voir (il faut faire défiler horizontalement ce qui est mauvais!) Si vous allez juste ajouter le chemin complet à la liste. Vous pouvez jouer avec l'idée d'une autre représentation comme:
File.Txt (C:\Users\Me\Documents)
C:\Users\..\File.Txt
etc
En ce qui le faire en utilisant le code est concerné, vous devez utiliser OpenFileDialog contrôle pour permettre à l'utilisateur de choisir les fichiers.
var ofd = new OpenFileDialog();
//add extension filter etc
ofd.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*" ;
if(ofd.ShowDialog() == DialogResult.OK)
{
foreach (var f in openFileDialog1.FileNames)
{
//Transform the list to a better presentation if needed
//Below code just adds the full path to list
listView1.Items.Add (f);
//Or use below code to just add file names
//listView1.Items.Add (Path.GetFileName (f));
}
}
Pour plus d'informations et quelques stratégies différentes sur les chemins de raccourcissement, consultez Jeff [blog post] (http://www.codinghorror.com/blog/2006/08/shortening-long-file-paths.html) sur le assujettir. L'essentiel est que vous pouvez utiliser une expression régulière ou l'API ['PathCompactPathEx'] (http://msdn.microsoft.com/en-us/library/bb773578.aspx) pour le faire automatiquement. –
@hemanth: thanx ... comment puis-je afficher uniquement le nom de fichier sélectionné? –
Vous voulez dire uniquement le (s) fichier (s) sélectionné (s) par l'utilisateur? Ne t'en fais pas! La propriété FileNames du contrôle OpenFileDialog renvoie un tableau de chemins de fichier sélectionnés par l'utilisateur. Si l'utilisateur sélectionne un seul fichier, ce tableau ne contiendra qu'un seul élément. – Hemant
Si vous voulez faire dans le concepteur, vous pouvez prendre les mesures suivantes pour ajouter les images au contrôle ListView:
- Passer au concepteur, cliquez sur le composant ImageList sur la Component Tray, une balise active apparaît dans le coin supérieur droit de la liste ImageList.
- Cliquez sur la balise active, puis sur "Choisir des images" dans le volet.
- Dans la boîte de dialogue de l'Editeur d'images, sélectionnez les images du dossier de votre choix.
- Cliquez sur OK pour terminer l'ajout d'images à ImageList.
- Cliquez sur le ListView sur le formulaire, il y aura une balise active dans le coin supérieur droit.
- Cliquez sur la balise active, vous trouverez trois zones de liste déroulante, choisissez une liste d'images dans la liste comme vous le souhaitez.
- Cliquez sur l'option Ajouter des éléments sur la balise active, un éditeur de collection ListViewItem apparaîtra, vous pouvez ajouter des éléments à ListView, il est important ici de définir la propriété ImageIndex ou ImageKey ou l'image n'apparaîtra pas.
- Cliquez sur OK pour terminer l'édition de l'élément, vous trouverez maintenant les images affichées dans ListView.
Si vous souhaitez ajouter les images au ListView par code, vous pouvez faire quelque chose comme ça
donner le code suivant dans addButton_click
var fdlg = new OpenFileDialog();
fdlg.Multiselect = true;
fdlg.Title = "Select a file to add... ";
fdlg.InitialDirectory = "C:\\";
fdlg.Filter = "All files|*.*";
fdlg.RestoreDirectory = true;
if (fdlg.ShowDialog() == DialogResult.OK)
{
foreach (var files in fdlg.FileNames)
{
try
{
this.imageList1.Images.Add(Image.FromFile(files));
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
this.listView1.View = View.LargeIcon;
this.imageList1.ImageSize = new Size(32, 32);
this.listView1.LargeImageList = this.imageList1;
//or
//this.listView1.View = View.SmallIcon;
//this.listView1.SmallImageList = this.imageList1;
for (int j = 0; j < this.imageList1.Images.Count; j++)
{
ListViewItem item = new ListViewItem();
item.ImageIndex = j;
this.listView1.Items.Add(item);
}
}
@pavan: merci pour cela ... En fait, je voulais ajouter juste des noms de fichiers ... pas d'images ... de toute façon qui a également aidé ... thx –
- 1. C# Listview ajouter des sous-éléments
- 2. Ajouter des colonnes dans listview en C# .net
- 3. Ajouter des éléments à un ListView?
- 4. Comment ajouter une image à ListViewItem ou ListView C#
- 5. C#: comment ajouter des sous-éléments dans ListView
- 6. ListView Sélection en C#
- 7. listview en C#
- 8. Comment ajouter des données à un dictonary en C#
- 9. Comment ajouter un en-tête de colonne à un ListView en C#
- 10. Comment ajouter un élément à un ListView?
- 11. Peut-on ajouter des styles à ListView dans Windows Application
- 12. Comment ajouter un identifiant à Listview
- 13. C#: Comment ajouter d'un contrôle ListView des données de données à un dictionnaire
- 14. listView dynamic ajouter l'élément
- 15. Android - Ajouter et afficher des éléments à ListView un à la fois en utilisant un ArrayAdapter
- 16. Comment lier un ListView à une ObservableCollection en C++/CLI?
- 17. Vue simple des fichiers et des dossiers en C#
- 18. Ajouter et supprimer des pages à onglets à l'exécution en C#
- 19. script pour ajouter des fichiers à SVN avec des filtres
- 20. Ajouter des fichiers à l'application à la course
- 21. Comment ajouter des bibliothèques supplémentaires en C++?
- 22. Comment ajouter des valeurs à une classe TreeNode en C#
- 23. Comment ajouter des valeurs à un tableau en Objective-C
- 24. Ajouter des valeurs à un vecteur 3-d en C++
- 25. ajouter des données de stock à amibroker en utilisant C#
- 26. Comment ajouter des fonctionnalités à un programme winforms en C#?
- 27. Comment ajouter plusieurs listViews à un seul listView?
- 28. Ajouter des documents en utilisant C#
- 29. C# Listview Glisser et déposer des lignes
- 30. Tri d'un ListView en C# provoquant des plantages
Quel type d'application est-ce? Windows Forms? ASP.NET? WPF? – JeffFerguson