Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Owner form
lunedì 09 agosto 2004 - 17.37
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
pecos81
Profilo
| Junior Member
68
messaggi | Data Invio:
lun 9 ago 2004 - 17:37
Ciao a tutti!
scrivo per chiedere aiuto su questo problema:
ho 3 forms delle quali una "jolly" che può essere aperta dalle altre 2.
Nelle 2 forms ho dei pulsanti che aprono la form jolly che carica un dataset. Nella form jolly ho un pulsante che,una volta premuto, mette in una casella di testo della form che l'ha aperta un valore ricavato dal dataset. + precisamente setto il valore di una property e la textbox si prende quel valore. come faccio a dire alla mia form jolly qual'è la form che l'ha aperta per settarne il valore?
Ciao e grazie
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
lun 9 ago 2004 - 19:26
la prima cosa che mi viene in mente è molto semplicemente crearti una variabile public di tipo booleana e settare da false a true o viceversa quando apri la form "jolly" da una form all'altra, es:
Public prova,prova_1 as Boolean
la variabile prova si riferisce al prima form mentre prova_1 alla seconda
a questo punto come ti ho detto sopra setti il valore delle varibili e con una semplice if..end if gestisci la destinazione dei dati.
Ciao
Fabio
alextyx
Profilo
| Expert
668
messaggi | Data Invio:
mar 10 ago 2004 - 07:57
In aggiunta a quanto già detto da trinity, puoi comunque passare l'oggetto textbox del form 'aprente' nel costruttore (new) del form che verrà aperto. L'unico particolare ed esiguo vantaggio, è di risparmiare una variabile (poca cosa) e di nn dover fare alcun test nel codice per decidere dove scrivere (già più utile), basterà scrivere sempre nell'oggetto ricevuto al momento della 'costruzione' dell'istanza del form che hai creato. Automaticamente le tue modifiche andranno sulla textbox del form voluto. Credo che su questa falsa riga ci siano altre 'millanta' variazioni possibili, magari passare come riferimento l'intero form 'aprente' al form 'aperto', anzichè la sola textbox, ma in buona sostanza puoi scegliere secondo il gusto personale, a questo punto!
pecos81
Profilo
| Junior Member
68
messaggi | Data Invio:
mar 10 ago 2004 - 12:13
Innanzitutto: grazie ragazzi!
la soluzione ke ho trovato io è questa:
prima di aprire la form jolly ne setto una property con il nome della form che la apre.
Il metodo funziona bene, però se la aprono in mille dovrò per ognuna aggiungere una condizione case nel mio select. spiego:
per aprire la form jolly da formA
frmjolly.frmsender = me.text (setto la proprietà frmsender,che ha associata una var tipo string,col nome del form)
frmjolly.show
dalla frmjolly
select case frmsender
case "formA"
formA.id = "x" (id è una proprietà che setta una variabile che uso in + punti)
case "formB"
formB.id = "X"
..............
end select
mi sarebbe, appunto, piaciuto evitare questo select e settare la variabile id con una sola riga di codice per tutte le form
frmsender.id = "X"
ma non sono sicurissimo che sia possibile
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
mar 10 ago 2004 - 12:17
cmq. le soluzioni che ti abbiamo postato sono sicure. Per esempio la mia è una procedura molto semplice ma funzionante.
Ciao
pecos81
Profilo
| Junior Member
68
messaggi | Data Invio:
mar 10 ago 2004 - 12:48
si, è vero, infatti sto facendo dei test con le vostre proposte.
Grazie
alextyx
Profilo
| Expert
668
messaggi | Data Invio:
mer 11 ago 2004 - 07:55
Caro Pecos, quando dicevo che era più importante evitare test nel codice, piuttosto che risparmiare una variabile, che nel caso di più form 'aprenti' potrebbe essere una stringa, o un Int, anzichè una boolean, era proprio perchè poi l'appetito vien mangiando! :-)
Tu hai parlato (ingannevolmente! ;-) )di due form e in tal caso le proposte avute tendono ad equivalersi. Se invece i form che possono aprire il tuo form 'Jolly' diventano, se nn mille, magari 4 o 5, allora per evitare di dover fare test lunghi (Select case o simili) e magari anche in più punti del codice, l'avere un riferimento preciso fin dall'inizio ti dà esattamente la possibilità che auspichi, ossia di riferirti sempre all'oggetto X sapendo che automaticamente il tuo lavoro si trasferirà sul bersaglio giusto. Ciao e buon lavoro!
Torna su
Stanze Forum
Elenco Threads
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 !