none
Comment attribuer une ressource par VARIABLE à un objet ? RRS feed

  • Question

  • Bonjour,

    J'ai besoin d'attribuer une ressource à un objet à l'aide d'une variable ou d'un élément qui permettent de nommer la ressource de façon variable (dans une boucle), exemple de ce que je voudrais faire mais ça ne fonctionne pas :

    Dim r As String = "MAressource26"
    pictureBox(index).image = My.Resources.r
    

    Ceci étant dit, j'ai bien un code sur l'énumération des ressources, ainsi :

    Imports System.Resources
    Imports System.Globalization
    Dim rs As ResourceSet
    rs = My.Resources.ResourceManager.GetResourceSet(CultureInfo.InvariantCulture, True, False)
    Dim dicos As IDictionaryEnumerator = rs.GetEnumerator()
    While dicos.MoveNext
     ListBox1.Items.Add(dicos.Key.ToString())
    End While
    

    Mais ceci ne me dit pas comment importer la ressource énumérée... par exemple :

    pictureBox(index).image = ListBox1.items(index)
    
    

    Merci de vos lumières et de me dire aussi ce qu'il faut importer en entête (je n'ai rien importé pour le moment) ?

    Cordialement.



    Joseph Attila PUSZTAY
    EhJoe       Logiciels       Romans       Ecrire


    vendredi 12 octobre 2012 07:13

Réponses

  • Dans la procédure d'événement 'Button1_Click' tu n'initialises pas la variable ig, qui est donc égale à zéro. Ton tableau pic commence à 1, d'où l'erreur 9 (IndexOutOfRangeException).


    Cordialement, Jacques

    • Marqué comme réponse EhJoe vendredi 12 octobre 2012 17:07
    vendredi 12 octobre 2012 14:04

Toutes les réponses

  • Bonjour EhJoe,

    Simplement ceci ?

    Option Explicit On
    
    Imports System.Globalization
    Imports System.Resources
    
    '
            Dim r As String = "MAressource26"
            Dim rs As ResourceSet
            rs = My.Resources.ResourceManager.GetResourceSet(CultureInfo.InvariantCulture, True, False)
    
            Me.PictureBox1.Image = CType(rs.GetObject(r), System.Drawing.Image)


    Par contre les contrôles n'étant pas indexés sous VB.Net, je ne comprend pas 'PictureBox(index).Iimage'

    Cordialement, Jacques


    • Modifié Jacques93 vendredi 12 octobre 2012 11:08
    vendredi 12 octobre 2012 11:07
  • Bonjour Jacques,

    Merci, je vais voir ça ce soir, que quatre lignes, c'est presque simple pour du vbNet.

    Ben si mon contrôle est indexé, j'en ai fait une liste, enfin : une collection, car je refais le loto et j'en ai marre, il changent tous les deux ans, j'ai 49 nuléros + 10 chances = 59 * 6 grilles = ? 360... à me taper, pour simuler le cochage sur 6 girlles (désormais avec 10 chances en sus)...

    Cordialement.



    Joseph Attila PUSZTAY
    EhJoe       Logiciels       Romans       Ecrire


    vendredi 12 octobre 2012 12:42
  • Jacques,

    Marche pas : erreur n°9 ... il semble ne pas apprécier l'index passé à RS =, voici le code :

    Il est là le programme, tout petit en zip dans un dossier (les sources) :

    http://mesromans.free.fr/loto2012.zip

    Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click Dim r As String = "j01" ' j01.bmp

    Dim rs As System.Resources.ResourceSet rs = My.Resources.ResourceManager.GetResourceSet(System.Globalization.CultureInfo.InvariantCulture, True, False) pic(ig).Image = CType(rs.GetObject(r), System.Drawing.Image) End Sub

    Je me disais aussi que quatre lignes seulement :o)

    Au plaisir, cordialement...



    Joseph Attila PUSZTAY
    EhJoe       Logiciels       Romans       Ecrire



    • Modifié EhJoe vendredi 12 octobre 2012 13:03
    vendredi 12 octobre 2012 12:59
  • Dans la procédure d'événement 'Button1_Click' tu n'initialises pas la variable ig, qui est donc égale à zéro. Ton tableau pic commence à 1, d'où l'erreur 9 (IndexOutOfRangeException).


    Cordialement, Jacques

    • Marqué comme réponse EhJoe vendredi 12 octobre 2012 17:07
    vendredi 12 octobre 2012 14:04
  • Jacques,

    Tu as trouvé, je n'aurais jamais pensé à ça !

    Question résolue, je te remercie énormément :o)

    Cordialement.



    Joseph Attila PUSZTAY
    EhJoe       Logiciels       Romans       Ecrire


    vendredi 12 octobre 2012 17:07