Form richiamabili dall'esterno

venerdì 03 settembre 2010 - 23.35
Tag Elenco Tags  VB.NET  |  .NET 2.0  |  .NET 3.0  |  .NET 3.5  |  .NET 4.0  |  Windows 7  |  Windows Vista  |  Windows XP  |  Visual Studio 2010  |  Visual Studio 2008  |  Visual Studio 2005

Earthquake Profilo | Junior Member

Salve a tutti
Il mio quesito di oggi è il seguente:
C'è un modo per aprire a runtime una form richiamandola da un campo di un database?
mi spiego meglio...
Ho una tabella con due campi ID e NomeForm
nell'applicazione ho n form, una di queste form è quella principale.
Sulla principale ho dei Button non necessariamente uguali al numero di form.
al click di uno di questi Button devo aprire una form.
La form da aprire è indicata nel campo NomeForm nel Database.
quindi sul Button 1 con id = 5 aprirò la form corrispondente nel database alla n.5
Non voglio usare però dei costrutti tipo Select Case perche dovrei aggiornarlo ogni volta che aggiungo una form
ma magari gestire la cosa in maniera piu dinamica.
Faccio un esempio (so che non è corretto ma almeno spero di far capire il senso)
dim f as form
f=nomedellaform memorizzata nel db corrispondente all'id 1
f.show

Sperando di essere stato chiaro
Ringrazio in anticipo

freeteo Profilo | Guru

Ciao,
devi fare un codice di questo tipo per generare un oggetto da un "nome":
Form f = Activator.CreateInstance(Type.GetType("WinTMP.FormWS")) as Form; f.Show();
dove "WinTMP" è il Namespace, e "FormWS" è il nome della classe che corrisponde alla form da visualizzare, essendo stringa puoi comporre quello che desideri.

ps: quanto usi i tag, metti solo quello che ha attinenza a far inquadrare più precisamente il problema, non mettere tutto quello che hai installato sul pc
Ad esempio io avrei messo solo la versione del framework che stai usando nel tuo progetto, non tutte le versioni...lo stesso vale per i sistemi operativi che tral'altro in questa domanda di puro codice .net nemmeno sono d'interesse...

Ciao.

Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo

Earthquake Profilo | Junior Member

Grazie mille provo e ti faccio sapere.
Chiedo scusa a tutti per la multiselezione dei tag.
Sarò piu attento da ora in poi.

Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5