Newsgroup: it.comp.lang.visual-basic
Titolo: Riferimenti ad altre maschere

Come si fà riferimento ad un controllo di un'altra maschera aperta in
Vb.Net?

 Vb.Net?
Form1, Form2 .Un metodo:
Leggere da form2 valore presente in form1
In form1 variabile di modulo
Assegni alla variabile di modulo il valore da leggere dalla form2
Nella form1 con una property shared leggi il valore della variabile nella
form1
Dalla form2 leggi il valore attaverso la property shared
Buona Pasqua
giuseppeD
---------------
Pace in terra, in mare, in aria
agli uomini e donne di buona volontà

 form1
Dimenticato:
All'aprire della form2 puoi assegnare il valore alla variabile globale di
form1.


Mi spego meglio , tutte le form sono figlie di una form contenitore ,, Da
Form1 lancio una procedura pubblica e vorrei che alla presenza di un evento
mi vaiasse il valore in un campo deòòa form1 (ad esempio un checkbox) come
si fà riferimento al controllo di form1 ( Form1.CheckBox1.value ecc...)

 si fą riferimento al controllo di form1 ( Form1.CheckBox1.value ecc...)
Mi sembra che la spiegazione non sia migliorata.
Comunque di seguito un'ipotesi di soluzione.
Se ho nella form1 un CheckBox1 e
voglio da una procedura interna a form1
leggere il valore del CheckBox1:
If Me.CheckBox1.Checked = True Then
            '("esegui codice 1")
        Else
           '("esegui codice 2")
        End If
giuseppeD

La procedura o l'evento sollevato partono appunto da un'altra maschera
...Procedura in Form1.....richiama il valore contenuto nel controllo di
Form2
esempio controllo.text ecc  Pensavo si potesse fare
NomeForm.NomeControllo.Text ec...
Con Me. si fà ariferimento ad un controllo del form da qui scatursce
l'evento

 ha scritto nel messaggio
news:gMSoa.41464$LB6.9...@news1.tin.it...

L'indicazione presente nella prima risposta aiuta a leggere il valore
presente nella form2 dalla form1
Un'altra è istanziare la classe della form, senza lo show. Tipo:
dim f as new form1
Leggi il valore nella casella: f.TextBox1.Text
e poi invochi il metodo dispose
Un terzo, per quelle che mi vengono in mente, è di verificare, nel codice
collassato, dopo InitializeComponent(),  se la classe è stata istanziata, e
con una property shared accedere a qualsiasi oggetto presente nella classe.
giuseppeD
---------------------------
- ".. mi dovrebbero fare un monumento ......"
- " per dare la soddisfazione agli yankee di buttarlo giù."

Secondo te č possibile ciň?
Su un form diciamo  Form1 (istanziato con la seguent6e procedura
dim f as new Form1
f.midparent=me ( perchč č un form figlia)
f.show
in form1 c'č un timer regolato a 10 sec che dopo la verifica se un ceckbox č
attivato lancia una procedura che verifica se in un db ci sono almeno 20
record che soddisfano una determinata condizione, se ci sono allora detti
record vengono trasferiti in una tabella temp. e stampati. vorrei che in
presenza di errori la procedura pubblica impostasse il checkbox in uncecked
per far ciň dovrei fare riferimento all'istanza del form
(f.nomeCheckBox.ecc...)  Questo perchč altrimenti il timer continua a
sollevare l'errore

 sollevare l'errore
Come partecipa a detta esposizione la Form2 ?
giuseppeD

> Come partecipa a detta esposizione la Form2 ?
avevo usato l'esempio form1 form2 solamente per dare l'idea che ho la
necessità di agire da procedure esterne a form1, appunto su form1 , non di
leggerne i valori...Spero di essere stato un pò più chiaro

 ha scritto nel messaggio
news:w%2pa.43192$LB6.9...@news1.tin.it...

Penso di aver capito.
Ricapitoliamo:
Nella Form1 hai una CheckBox, se CheckBox1.Checked = True deve attivare il
Timer,
per eseguire delle operazioni;
se CheckBox1.Checked = False il timer si deve stoppare
In caso di errore il CheckBox1.Checked = False ed il Timer si blocca.
L'attivazione della CheckBox1.Checked = True, che si trova nella form1 deve
avvenire da un comando attivato dalla form2.
Bene
ragioniamo
il colloquio è ristretto a due form, form1 e form2
form2 deve trasmettere degli input a form1
quindi aprendo form2 da form1 devo trasmettere una istanza a form2 che
richiami form1
Un esempio di procedura:
un CheckBox1 su form1
nell'evento CheckBox1_CheckedChanged si gestisce lo start e lo stop del
timer
un Timer su form1
nell'evento Timer1_Tick
si attiva la procedura per eseguire le operazioni desiderate
Per stoppare il timer:
CheckBox1.Checked = False
quindi fermo il timer e blocco le procedure eseguite a tempo;
o al raggiungimento di un parametro, o attraverso la gestione degi errori
presente nelle
procedure. In caso di errore, messaggio, CheckBox1.Checked = False e quindi
si ferma tutto.
Come attivare il CheckBox1.Checked = True da form2 ?
Una indicazione:
1- Variabile globale in form2:  Public frm1 As Form1
2- in form1; istanzio form2:
   Dim f As New Form2()
        f.frm1 = Me
        f.Show()
3- da form2
  attivo il timer: frm1.CheckBox1.Checked = True
Salve
