'Example d'utilisation Private Sub Form2_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint ' Récupération de l'image de fond du formulaire 'Form1' ' comme image de fond du formulaire 'Form2' Me.BackgroundImage = Get_Resource_ByName("form1.$this.BackgroundImage") End Sub ''' <summary>Obtention d'une ressource en utilisant son nom</summary> ''' <param name="pName">Nom de la ressource précédé de l'object qui la contient suivit d'un point .</param> ''' <remarks>Pour d'autres type de ressources, il faudra modifier en conséquence.</remarks> Public Function Get_Resource_ByName(ByVal pName As String) As Image 'Valeur qui sera retournée Dim lReturnValue As Image = Nothing 'Dossier qui contient la ressource recherchée. Dim lRessourcesFolder As String Dim lvi1 As Integer = InStr(pName, ".") If lvi1 = 0 Then 'Si absent le dossier standard de ressources de l'Assembly est utilisé. lRessourcesFolder = "resources" Else 'Sinon on utilise le paramètre fourni lRessourcesFolder = Mid(pName, 1, lvi1 - 1) pName = Mid(pName, lvi1 + 1) End If 'On obtient l'Assembly appelante qui contient le dossier de la ressource recherchée. Dim lAssembly As System.Reflection.Assembly = System.Reflection.Assembly.GetEntryAssembly 'Rechercher du dossier For Each resourceName In lAssembly.GetManifestResourceNames If resourceName.ToLower().EndsWith("." & lRessourcesFolder & ".resources") Then 'Le dossier a été trouvé Dim lStream As System.IO.Stream = lAssembly.GetManifestResourceStream(resourceName) Dim reader As ResourceReader = New ResourceReader(lStream) Dim entry As DictionaryEntry 'Recherche de la ressource For Each entry In reader If entry.Key.ToLower() = pName.ToLower() Then 'La ressource a été trouvée. lReturnValue = CType(entry.Value, Bitmap) 'Fin de la recherche de la ressouce. Exit For End If Next reader.Close() lStream.Close() 'Fin de la recherche dans le dossier. Exit For End If Next Return lReturnValue End Function
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.