Ciao a tutti,
ho un piccolo problema con una proprietà di un controllo personalizzato che ho creato.
Questo controllo serve a mostrare un'immagine prendendola da un percorso esterno, specificato nel parametro "Image_Address".
Il tutto funziona correttamente ma c'è una cosa che non riesco a fare:
a design io imposto il percorso di Image_address in modo "fisso". In realtà questo percorso deve essere dinamico in funzione della lingua selezionata.
Per farlo ho creato quindi i file di risorse con il riferimento al percorso dell'immagine in italiano e quello in inglese.
Sull'handlecreated del form vado a scrivere la proprietà "Image_Address" del controllo = al riferimento nel file di risorse. Tutto funziona correttamente.
Il problema è che io vorrei fare in modo di associare alla proprietà "Image_address" un testo "localizzato" in modo da non dover inizializzare tutte le immagini... insomma vorrei fare in modo di avere in "Image_address" un testo localizzabile o al limite il riferimento alla stringa nelle risorse dove è contenuto il percorso..
Sapete se è possibile fare qualcosa del genere?

Di seguito riporto il codice del controllo:

codice:
Imports System.Windows.Forms
Imports System.Drawing

Public Class Ext_PictureBox
    Inherits PictureBox

    Private _Image_Address As String
    Public Property Image_Address() As String
        Get
            Return _Image_Address
        End Get
        Set(ByVal stringa As String)
            _Image_Address = stringa
        End Set
    End Property
    Private Sub Mybase_HandleCreated(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.HandleCreated
        If Me.Site IsNot Nothing AndAlso Me.Site.DesignMode = True Then
            'Design code here

        Else
            'Runtime code here
            Dim mybitmap As Bitmap
            Dim address As String

            address = Get_App_Path() & "\" & _Image_Address

            mybitmap = New Bitmap(address)
            Me.Image = mybitmap
        End If
    End Sub
    Private Function Get_App_Path() As String
        Dim path = System.IO.Path.GetDirectoryName( _
      System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase)
        If path.StartsWith("\Flashdisk") Then
            Return path
        Else
            Return path.Remove(0, 6)
        End If
    End Function
End Class
Mentre questo è il codice del form che usa il controllo:

codice:
Public Class F001_Principale

    Private Sub F001_Principale_HC(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.HandleCreated
        Ext_PictureBox1.Image_Address = My.Resources.Immagini.F001_Sez_Filatoio
    End Sub
End Class
La risorsa F001_Sez_Filatoio contiene la stringa con il riferimento al percorso dell'immagine in italiano o in inglese.