Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    [VB.Net]Passaggio di variabile tra form

    Ragazzi un saluto a tutti, dovrei passare una stringa da una classe a un'altra e non so proprio come fare, il codice è più o meno questo:

    codice:
    Class Form1 
    
    Private cl2 As New Form2
    Private string As String
    
    Private Sub Form1.Load()
    
    End Sub
    
    Private Sub ReceivedString(ByVal str As String)
    string = str
    End Sub
    
    End Class
    
    ------------------
    
    Class Form2
    
    Private Sub SendString()
    
    
    End Sub
    
    End Class
    Che posso scrivere nel metodo SendString() della seconda classe che viene caricata dalla prima?

  2. #2
    Volgarmente?
    codice:
    ReceivedString("stringa da passare")
    Correttamente?
    Crea una proprietà di tipo Form1 nel Form2 e nel costruttore di Form2 ne passi il riferimento al quale potrai puntare per accedere a qualsivoglia controllo o variabile che sia del form chiamante.

    Facci sapere....
    Ciao

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Direi piuttosto che questa rice/trasmissione di stringhe non ha senso ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  4. #4
    Penso che sia solo un esempio per capirne il concetto .... (almeno spero)

  5. #5
    Originariamente inviato da Jeremy75
    Volgarmente?
    codice:
    ReceivedString("stringa da passare")
    Correttamente?
    Crea una proprietà di tipo Form1 nel Form2 e nel costruttore di Form2 ne passi il riferimento al quale potrai puntare per accedere a qualsivoglia controllo o variabile che sia del form chiamante.

    Facci sapere....
    Ciao
    Ma non è possibile chiamare il metodo in questo modo se la classe a cui appertiene quel metodo non è la stessa dalla quale lo sto chiamando.

    Vi spiego rapidamente il progetto che riguarda l'utilizzo della porta seriale, il form1 si preoccupa di chiamare un metodo situato all'interno del form2 per aprire la porta, i dati vengono ricevuti e quando viene riconosciuto un dato carattere nella stringa in cui viene memorizzato il buffer, questa dovrebbe essere mandata al form1. In pratica il form1 comanda e il form2 esegue.

    Grazie per le vostre risposte

  6. #6
    Crea una proprietà di tipo Form1 nel Form2 e nel costruttore di Form2 ne passi il riferimento al quale potrai puntare per accedere a qualsivoglia controllo o variabile che sia del form chiamante.
    Facci sapere...
    Ciao

  7. #7
    Grazie per la risposta Jeremy75, domani provo perchè non ho avuto tempo oggi, nel frattempo ti faccio un'altra domanda, se io volessi scatenare un evento dal form2 al form1 come dovrei fare? Ho provato con una cosa tipo AddHandler ma non sono riuscito

    Grazie di nuovo

  8. #8
    Originariamente inviato da alby_mo
    se io volessi scatenare un evento dal form2 al form1 come dovrei fare? Ho provato con una cosa tipo AddHandler ma non sono riuscito

    Grazie di nuovo
    Devi "fornire" la Form2 di un evento con visibilità pubblica e, nel Form1, dichiarare l'istanza di Form2 con la clausola WithEvents.
    codice:
    Private WithEvents Form2 as new Form2
    Nel Form2 scateni l'evento con RaiseEvent, e nel Form1 lo puoi intrecttare in 2 modi

    codice:
    Private Sub TuoEvento_Raised(eventuali argomenti) Handles Form2.TuoEvento
    End Sub
    oppure, nel Load della Pagina

    codice:
    AddHandler Form2.TuoEvento, AddressOf TuaSubLocale
    ......
    Private sub TuaSubLOcale(eventuali argomenti)
    
    End Sub
    Facci sapere...
    Ciao

  9. #9
    Grazie mille ho risolto con questo:

    Crea una proprietà di tipo Form1 nel Form2 e nel costruttore di Form2 ne passi il riferimento al quale potrai puntare per accedere a qualsivoglia controllo o variabile che sia del form chiamante.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.