Oppure

Loading
09/09/13 16:08
orma674
Salve a tutti,
chiedo il vostro aiuto per creare oggetti dinamicamente da file INI.

Mi spiego meglio.
Ho la necessità che attraverso la lettura del file INI, si possano disporre dei controlli sul form.

Il file INI ovviamente viene generato in chiusura all'applicazione memorizzando tutte le proprietà dei controlli.

Ho provato a leggere il file cosi strutturato
[Button]Name=Button1

assegnandolo i valori letti in questo modo
Dim _Type as String = Button
Dim _Nameas String = Button1

DirectCast(_Name, _Type)

ma ovviamente ho trovato che non funziona.
Dice che è impossibile convertire String in Type.

Grazie anticipatamente
Marcello
aaa
09/09/13 16:41
GN
Prova a usare GetType: msdn.microsoft.com/it-it/library/…
aaa
09/09/13 16:48
orma674
Ho messo giù il seguente
Dim _Type As Type = Type.GetType("System.Windows.Forms.Button";)
Dim _Name As String = "Button1"
DirectCast(_Name, _type)

non funzione, mi da il seguente errore
Tipo _Type non definito

Grazie per la collaborazione
Marcello
aaa
10/09/13 8:00
Thejuster
Provo a scrivertelo in C# poi ti converti il codice.




//Ciclo per recuperare tutti i componenti da una form

 for (int i = 0; i < this.Controls.Count; i++)
{

                if (this.Controls[i].GetType() == typeof(Button))
                {
                    MessageBox.Show("Questo pulsante si chaima: " + ((Button)this.Controls[i]).Text);
                }

               
            }

}




In Vb.net dovrebbe essere così



For i As Integer = 0 To Me.Controls.Count - 1

	If Me.Controls(i).[GetType]() = GetType(Button) Then
		MessageBox.Show("Questo pulsante si chaima: " + DirectCast(Me.Controls(i), Button).Text)


	End If
Next


mire.forumfree.it/ - Mire Engine
C# UI Designer
25/09/13 8:48
orma674
Grazie ho risolto leggendo il tag e facendo eseguire un DirectCast in base alla stringa del Tag.

Select Case Tag
Case "Button"
DirectCast(Name,Button)
End select
aaa