Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Passare valori da una form a altre form
Forum - C# / VB.NET - Passare valori da una form a altre form

Avatar
fosforo (Normal User)
Expert


Messaggi: 391
Iscritto: 06/04/2009

Segnala al moderatore
Postato alle 13:42
Martedì, 24/05/2016
Ciao
Penso sia una domanda banalissima.

In una form ho un valore (ES: x=100) che devo poi riprendere da altre form.
Come posso fare?


Grazie

PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2305
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 14:17
Martedì, 24/05/2016
Codice sorgente - presumibilmente C# / VB.NET

  1. Form2 form = new Form2();
  2.  
  3. form.variabile = 10;
  4.  
  5. form.Show();





https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM Quote
Avatar
fosforo (Normal User)
Expert


Messaggi: 391
Iscritto: 06/04/2009

Segnala al moderatore
Postato alle 14:24
Martedì, 24/05/2016
Grazie per l'aiuto
ma sono alle prime armi.

Il codice che mi hai mandato è da mettere nella form dove ho il valore X?

Ultima modifica effettuata da fosforo il 24/05/2016 alle 14:25
PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2305
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 14:27
Martedì, 24/05/2016
Da Form1:
Do un valore all'altro form

Codice sorgente - presumibilmente C# / VB.NET

  1. Form2 form = new Form2();
  2.  
  3. form.variabile = 10;
  4.  
  5. form.Show();




Da Form1, una volta istanziata la variabile form
Prendo un valore dall'altro form


Codice sorgente - presumibilmente Plain Text

  1. valore = form.variabile;




Dal Form2 modifico valori al Form1

Codice sorgente - presumibilmente C++

  1. //Questo void va al Form2
  2. public void Form2_Shown(Form f)
  3. {
  4.  
  5. ((Form1)f).valore = 100;
  6.  
  7. }
  8.  
  9.  
  10. //--------
  11. // Questo void è al click di un pulsante sul Form 1
  12.  
  13. void Form1_Button1Click()
  14. {
  15.  
  16. Form2 f = new Form2();
  17. f.Form2_Shown(this);
  18.  
  19.  
  20. }



credo sia chiaro così

Ultima modifica effettuata da Thejuster il 24/05/2016 alle 14:29


https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM Quote
Avatar
fosforo (Normal User)
Expert


Messaggi: 391
Iscritto: 06/04/2009

Segnala al moderatore
Postato alle 15:03
Martedì, 24/05/2016
Faccio una domanda stupida visto che avrò tanti form:

Invece di mandare a un form un valore, non è possibile fare l'inverso?
cioè andare a leggere il valore da un form?


PM Quote
Avatar
Ultimo (Member)
Guru


Messaggi: 877
Iscritto: 22/05/2010

Segnala al moderatore
Postato alle 19:20
Martedì, 24/05/2016
Testo quotato

Postato originariamente da fosforo:

Faccio una domanda stupida visto che avrò tanti form:

Invece di mandare a un form un valore, non è possibile fare l'inverso?
cioè andare a leggere il valore da un form?




certo che lo puoi fare, le variabili devono essere pubbliche e non private

per esempio da Form1 vuoi leggere o assegnare una variabile dichiarata nel Form2

Var x = Form2.pippo_x2

Ultima modifica effettuata da Ultimo il 24/05/2016 alle 19:28


If ok Then GOTO Avanza else GOTO Inizia

PM Quote
Avatar
Snogar (Normal User)
Pro


Messaggi: 145
Iscritto: 09/01/2012

Segnala al moderatore
Postato alle 9:59
Mercoledì, 25/05/2016
Altra cosa che potresti voler passare comandi da una formPrincipale a una formTool e viceversa come avviene per esempio nei programmi di disegno.

Qundi nella formPrincipale dichiarerai:
Codice sorgente - presumibilmente C# / VB.NET

  1. Dim ComunicazioneTool As New formTool(Me)



Mentre nella formTool :
Codice sorgente - presumibilmente VB.NET

  1. Public Sub New(ByRef FormProprietario As formPrincipale)
  2.  
  3.         ' Chiamata richiesta dalla finestra di progettazione.
  4.         InitializeComponent()
  5.        
  6.         PassaComandi = FormProprietario
  7.     End Sub
  8.  
  9.     Dim PassaComandi As formPrincipale
  10.     Public Property FrmPassaComandi() As formPrincipale
  11.         Get
  12.             Return PassaComandi
  13.         End Get
  14.         Set(ByVal Valore As formPrincipale)
  15.             PassaComandi = Valore
  16.         End Set
  17.     End Property



Così facendo hai a disposizione di una form tutto quello che hai nell'altra.

PM Quote