Lecture aléatoire aléatoire de l'image à partir de ressources sur le bouton cliquez sur
J'ai 1 boîte de l'image, nommé studPic
. Ce que je veux obtenir de l'est, lorsque je clique sur le bouton "shuffle", pour obtenir de l'image aléatoire à partir des ressources disponibles.
private void button2_Click(object sender, EventArgs e)
{
...
}
Après recherche, je l'ai trouvé après
Je suis débutant en C#.. il Est plus facile façon de parvenir à ce résultat? Par exemple, sans l'ajout des noms des images?
Mise à JOUR
List<string> pictureNames = new List<string>();
pictureNames.Add("1");
pictureNames.Add("2");
pictureNames.Add("3");
int randomPictureIndex = new Random().Next(0, pictureNames.Count);
string randomPictureName = pictureNames[randomPictureIndex];
pictureNames.Remove(randomPictureName);
Image img = Properties.Resources.randomPictureName; //erroor
studPic.Image = img;
se message d'erreur
Erreur 1 "Propriétés".Ressources " ne contient pas une définition pour 'randomPictureName'
Quel est votre ressource??
Demande de ressources
mis à jour. veuillez prendre un coup d'oeil
C'est la recherche d'une ressource appelée randompicturename, pas celui qui est stocké dans la variable randompicturename. Jetez un oeil à la classe ResourceManager. Avec un peu de twidding vous utilisez MyResourceManager.GetObject(randompicturename)
Demande de ressources
mis à jour. veuillez prendre un coup d'oeil
C'est la recherche d'une ressource appelée randompicturename, pas celui qui est stocké dans la variable randompicturename. Jetez un oeil à la classe ResourceManager. Avec un peu de twidding vous utilisez MyResourceManager.GetObject(randompicturename)
OriginalL'auteur heron | 2012-07-03
Vous devez vous connecter pour publier un commentaire.
Je ne voudrais pas utiliser les Ressources du Système pour cela. Ils ne sont pas aussi facile à gérer que le système de fichiers en cas de déconnexion de logiciel.
Vos images dans un dossier de votre application. De cette façon, ils peuvent être mis à jour/modifiés facilement.
Dire :
Créer un tableau qui contient ces images.
Vous aurez besoin de mettre des filtres sur les GetFiles pour s'assurer que vous obtenez seulement des photos.
Maintenant, prenez une position aléatoire dans ce tableau (que vous avez déjà montré que vous savez faire de nombres aléatoires).
Nous avons le tableau, nous allons shuffle et alors vous pouvez aller à travers eux de manière séquentielle (de manière plus rapide que choisissant au hasard sur. CPU vous aimera pour elle)
Un couple de choses:
Si vous voulez avoir cela comme un diaporama qui s'exécute jusqu'à ce que l'utilisateur annule je recommanderais le suivant:
Si vous souhaitez ajouter des boutons Précédent/Suivant, vous aurez besoin d'avoir un indice global (dire currentIndex) qui peut être augmenté/diminué, puis d'appeler le code pour définir l'image
OriginalL'auteur Ryan Ternier
Certains d'installation est impliqué de votre part, mais les partisans du non sont surtout à droite. Ce n'est pas une solution valable pour une application de production. Cela étant dit, je doute que ce est quelque chose que vous êtes distribuer à des tonnes de gens, donc nous allons appeler cela un exercice académique. Si vous étiez tout simplement ajouter une ressource à votre application et nommez-le "ImageResource" (n'importe quel nom), et ajouter vos images, vous pouvez alors utiliser le code suivant (en supposant que le correspondant éléments de l'INTERFACE utilisateur existe pas).
Tout d'abord, nous allons créer une fonction pour extraire des Bitmaps de votre ressource.
Deuxièmement, nous allons créer une fonction qui va rendre aléatoire d'une image basée sur les images disponibles:
Enfin, appeler cette fonction sur un bouton, cliquez sur:
Et le tour est joué, les images aléatoires à partir d'un des fichiers de ressources. Amusez-vous bien!
EDIT: Viens de remarquer que vous dit que vous étiez à l'aide d'une ressource d'Application plutôt que de façon aléatoire un fichier de ressources. Il suffit de remplacer "ImageResource" avec "des Propriétés.Ressources", dans GetResourceImages, et vous serez dans l'entreprise.
OriginalL'auteur Jaime Torres
J'aime Ryan Ternier réponse très simple et élégante, j'allais poster une solution similaire à la sienne.
Je veux juste un commentaire sur les raisons pour lesquelles ligne n'est pas/ne devrait pas fonctionner:
Image img = Propriétés.Les ressources.randomPictureName;
http://msdn.microsoft.com/en-us/library/7k989cfy(v=vs. 80).aspx
OriginalL'auteur sksallaj